Radio packet communication method

ABSTRACT

In retransmission processing due to a failure of transmission of data packets, a plurality of data packets are simultaneously transmitted between two STAs by utilizing multiple wireless channels and MIMO, and the number of idle channels and the number of retransmission packets are compared. Then, when both of the numbers are different or only when the number of idle channels is larger than the number of retransmission packets, the retransmission packets are reconstructed according to the number of idle channels, and the reconstructed retransmission packets are simultaneously transmitted by using the idle channels.

TECHNICAL FIELD

The present invention relates to a wireless packet communication methodof simultaneously transmitting a plurality of data packets to/from anstation (hereinafter, STA) by utilizing multiple wireless channels andMultiple Input Multiple Output (hereinafter, MIMO), and moreparticularly, to a wireless packet communication method involved inretransmission processing when a data packet is not normallytransmitted.

BACKGROUND ART

In a conventional wireless packet communication method, after only onewireless channel for use is determined in advance, it is detected priorto the transmission of a data packet whether or not this wirelesschannel is idle (carrier sense), and one data packet is transmitted onlywhen this wireless channel is idle. Such control allows a plurality ofSTAs to share one wireless channel at different times ((1) IEEE 802.11“MAC and PHY Specification for Metropolitan Area Network”, IEEE 802.11,1998, (2) “Low-powered Data Communication System/Broadband Mobile AccessCommunication System (CSMA) Standard”, ARIB SDT-T71 version 1.0,Association of Radio Industries and Businesses, settled in 2000).

Meanwhile, in order to enhance data packet transmission efficiency, awireless packet communication method is being considered in whichmultiple wireless channels, if found idle by carrier sense, are used forsimultaneous transmission of a plurality of data packets. In thismethod, for example, if there are two idle wireless channels while thereare three data packets, the two wireless channels are used for thesimultaneous transmission of two out of the three data packets. Further,for example, if there are three idle wireless channels while there aretwo data packets, the two wireless channels are used for thesimultaneous transmission of all (two) the data packets.

In order to enhance data packet transmission efficiency, anotherwireless packet communication method is being considered in which aknown MIMO technique (Kurosaki et al., “100 Mbit/s SDM-COFDM over MIMOChannel for Broadband Mobile Communications”, Technical Reports of theInstitute of Electronics, Information and Communication Engineers, A•P2001-96, RCS2001-135(2001-10)) is used for simultaneous transmission ofa plurality of data packets via one wireless channel. The space divisionmultiplexing (SDM) here is a system in which different data packets aresimultaneously transmitted from a plurality of antennas via the samewireless channel, and the plural data packets simultaneously transmittedvia the same wireless channel are received through digital signalprocessing according to different propagation coefficients of therespective data packets received by a plurality of antennas of anopposing STA. Note that the number of MIMOs is determined according tothe propagation coefficient and the like.

Incidentally, in the method of simultaneously transmitting a pluralityof data packets by using multiple wireless channels, when centerfrequencies of the multiple wireless channels that are simultaneouslyused are close to each other, leakage power leaking from one of thewireless channels to a frequency domain used by another wireless channelhas a significant influence. In the transmission of a data packet, aftera transmit-side STA transmits the data packet, a receive-side STAgenerally transmits a reception acknowledgment packet (an ACK packet, aNACK packet) to the transmit-side STA in response to the receivedpacket. When the transmit-side STA attempts to receive thisacknowledgement packet (hereinafter, ACK packet), the influence of theleakage power from the other wireless channel being used for thesimultaneous transmission poses a problem.

For example, as shown in FIG. 48, such a case will be assumed wherecenter frequencies of a wireless channel #1 and a wireless channel #2are close to each other and the transmission time is different betweendata packets simultaneously transmitted from the respective wirelesschannels. Here, since the data packet transmitted from the wirelesschannel #1 is short, the wireless channel #2 is in a course oftransmission when an ACK packet for this packet is received. Therefore,there is a possibility that leakage power from the wireless channel #2may prevent the reception of the ACK packet via the wireless channel #1.Under such circumstances, no improvement in throughput can be expectedeven in the simultaneous transmission using the multiple wirelesschannels.

Incidentally, the case like this occurs due to difference in packet timelength (transmission time=packet size) between the data packets iftransmission rates of the respective wireless channels are equal to eachother, and if the transmission rates of the respective wireless channelsare also taken into consideration, this case occurs due to difference inpacket time length (transmission time=data size/transmission rate).

Meanwhile, in a wireless LAN system and the like, data size of dataframes inputted from a network is not constant. Therefore, when theinputted data frames are sequentially converted to data packets fortransmission, the packet time length (transmission time) of the datapackets changes. Consequently, as shown in FIG. 48, even if the pluraldata packets are simultaneously transmitted, there is a higherpossibility of a failure in receiving the ACK packet, due to thedifference in the packet time length between the data packets.

Regarding this problem, a method is being considered in which the packettime lengths of a plurality of data packets to be simultaneouslytransmitted are made equal or equivalent so that the transmissions ofthe plural data packets are completed simultaneously or substantiallysimultaneously. This allows a transmitting STA to receive all ACKpackets without being affected by leakage power or the like between thewireless channels since the transmitting STA is not in the course oftransmission at the timing when the ACK packets for the pluralrespective data packets arrive, which can contribute to improvement inthroughput. The “simultaneous transmission” in this specification refersto a state in which a plurality of data packets with the same packettime length (transmission time) are simultaneously transmitted.

Here, as methods of generating a plurality of data packets forsimultaneous transmission from a data frame/data frames, the followingthree methods are available. For example, when there is one data frameand the number of idle channels is two, the data frame is divided sothat two data packets are generated as shown in FIG. 49(1). When thereare three data frames and the number of idle channels is two, forexample, a data frame 2 is divided and the resultants are combined witha data frame 1 and a data frame 3 respectively so that two data packetsare generated, as shown in FIG. 49(2). Alternatively, as shown in FIG.49(3), a data frame 1 and a data frame 2 are combined and a dummy bit isadded to a data frame 3 so that two data packets equal in packet timelength are generated. Further, when multiple wireless channels are usedand transmission rates of the respective wireless channels aredifferent, a size ratio of data packets is adjusted according to a ratioof the transmission rates so that packet time lengths become equal toeach other.

Incidentally, when the transmission of a data packet fails, areceiving-end transmits a reply to that effect by means of an ACKpacket, or does not return the ACK packet itself. In this case, atransmit-side STA determines that the transmission of the data packetfailed and executes retransmission processing for this data packet.

[Problem 1 at the Time of Retransmission]

It is assumed here that one channel out of, for example, three channelsis busy at the time of initial transmission, and two data packets aregenerated so as to correspond to the two idle channels and aresimultaneously transmitted. Two idle wireless channels are not alwaysavailable when retransmission processing is thereafter executed due to afailure of transmission of at least one of the data packets. Forexample, when the number of idle wireless channels becomes larger at thetime of the retransmission processing than that at the time of theinitial transmission as shown in FIGS. 50(1), (2), if all the wirelesschannels that are idle at the time of the retransmission processing canbe used for simultaneous transmission, instead of the retransmissionusing the same wireless channels as those used for the initialtransmission, this can contribute to improvement in throughput.

On the other hand, there is also a case where the number of idlewireless channels becomes smaller at the time of retransmission as shownin FIG. 51. In this case, two data packets to be retransmitted aredivided for two separate transmissions. At this time, carrier sense isnecessary before each of the retransmission packets is transmitted, andthus it is not always possible to transmit them continuously, which maypossibly cause reduced throughput, increased average delay time, andincreased jitter.

[Problem 2 at the Time of Retransmission]

Next, problems when conventional retransmission methods are applied tosimultaneous transmission will be described, though a retransmissionmethod in the simultaneous transmission will not be particularlyspecified.

FIG. 52 shows a conventional retransmission method 1. Here, it isassumed that the number of simultaneously transmittable data packets is3 and this number does not change at transmission timings t1, t2, t3obtained by carrier sense. A transmit-side STA A generates data packetsP1, P2, P3 from a data frame F1 and generates data packets P4, P5, P6from a data frame F2. Note that P1 to P6 correspond to sequence numbersof the respective data packets.

The STA A simultaneously transmits the data packets P1 to P3 at thetransmission timing t1. Thereafter, based on ACK packets from areceive-side STA, it confirms a success of transmission of the datapackets P1, P3 and a failure of transmission of the data packet 2. TheSTA A determines that the data frame F1 cannot be restored due to thefailure of transmission of the data packet P2 to retransmit all the datapackets P1 to P3 corresponding to the data frame F1 at the nexttransmission timing t2. At this time, the data packets P1, P3 areretransmitted even though having been normally received. However, if thetransmission of the data packet P1 fails at this time, the data packetsP1 to P3 are retransmitted again at the next transmission timing t3.

Thus, the transmit-side STA A simultaneously transmits a plurality ofdata packets included in a data frame, and simultaneously retransmitsthe same plural data packets included in the data frame again whenfailing in the transmission of part thereof. This means that the datapacket successfully transmitted is also retransmitted, so that channelutilization is lowered and throughput is unavoidably lowered.

In a MIMO system in particular, if the number of multiplexing isincreased, the influence that a fluctuation in wireless channels givesto transmission quality becomes more significant, resulting in a higherpacket error rate and a higher bit error rate. Therefore, if all datapackets including data packets which have been successfully transmittedare simultaneously retransmitted due to the failure of part of the datapackets that have been simultaneously transmitted, a probability ofanother transmission failure becomes high, so that channel utilizationand throughput have been unavoidably lowered.

FIG. 53 shows a conventional retransmission method 2. It is assumed herethat the number of simultaneously transmittable data packets is 3 andthis number does not change at transmission timings t1, t2, t3 obtainedby carrier sense. A transmit-side STA A generates data packets P1, P2,P3 from a data frame F1 and generates data packets P4, P5, P6 from adata frame F2. It is assumed here that the data packets P1 to P6 areequal in the transmission time.

The STA A simultaneously transmits the data packets P1 to P3 at thetransmission timing t1. Thereafter, based on ACK packets from areceive-side STA, it confirms a success of transmission of the datapackets P1, P3 and a failure of transmission of the data packet P2.Then, at the next transmission timing t2, it simultaneously transmitsdata packets P4, P5 that have been simultaneously generated since theretransmission of only the not-successfully-transmitted data packet P2leads to poor efficiency. Thereafter, based on ACK packets from thereceive-side STA, it confirms a success of transmission of the datapackets P4, P5 and a failure of transmission of the data packet P2.Then, at the next transmission timing t3, it simultaneously transmitsthe data packet P2 whose transmission has failed again and the new datapacket P6. Thereafter, based on ACK packets from the receive-side STA,it confirms a success of transmission of the data packet P6 and afailure of transmission of the data packet P2.

When the data packet P6 is successfully transmitted while the failure oftransmission of the data packet P2 is thus repeated, the data packets P4to P6 constituting the data frame F2 have all received. As a result,while the data frame F1 is left unrestorable due to the failure oftransmission of the data packet P2, the next data frame F2 is restoredso that the sequence is reversed. At this time, in order to make thesequence of the restored data frames in the proper order, it isnecessary to retain the first restored data frame F2 until the datapacket P2 is successfully transmitted and the data frame F1 is restored.

Further, though not described in FIG. 53, if the data packet P2, at thetime of its retransmission, is simultaneously transmitted with a datapacket generated from a next data frame F3 and the transmission of thedata packet 2 fails, this results in a situation where the data frame F3is first restored while the data frame F1 is left unrestorable. If suchprocessing is repeated, the sequentially restored data frames F2, F3, .. . are retained until the data packet P2 is successfully transmittedand the data frame F1 is restored, and therefore, a reception buffersize in the receive-side STA has to be made large.

Incidentally, it is assumed here that the data packets P1 to P6generated from the data frames F1, F2 are equal in the transmissiontime, but when the data packets P1 to P3 and the data packets P4 to P6are different in the transmission time, the aforesaid influence of theleakage power between the channels poses a problem if the data packetsP4, P5 are simultaneously transmitted at the time of the retransmissionof the packet P2.

An object of the present invention is to provide a retransmission methodfor realizing improvement in throughput also in retransmissionprocessing while taking advantage of simultaneous transmission. Anotherobject is to provide a retransmission method for not only improvingthroughput in retransmission processing but also facilitating processingof restoring to a data frame a plurality of data packets including aretransmitted data packet, when the data packets are generated from thedata frame and simultaneously transmitted.

DISCLOSURE OF THE INVENTION

According to an invention of claim 1, when retransmission processing isto be executed due to a failure of transmission of a data packet betweentwo STAs, a number of wireless channels determined to be idle by carriersense is compared with a number of retransmission packets. Then, whenboth of the numbers are different or only when the number of idlechannels is larger than the number of retransmission packets, theretransmission packets are reconstructed according to the number of idlechannels and the reconstructed retransmission packets are simultaneouslytransmitted by using the idle wireless channels.

According to an invention of claim 2, when retransmission processing isto be executed between two STAs using MIMO due to a failure oftransmission of a data packet, a number of MIMOs of one wireless channeldetermined to be idle by carrier sense is compared with a number ofretransmission packets. Then, when both of the numbers are different oronly when the number of MIMOs is larger than the number ofretransmission packets, the retransmission packets are reconstructedaccording to the number of MIMOs and the reconstructed retransmissionpackets are simultaneously transmitted by using the MIMO.

According to an invention of claim 3, when retransmission processing isto be executed due to a failure of transmission of a data packet betweentwo STAs capable of using MIMO of each wireless channel together, anumber of simultaneous transmissions corresponding to a sum of numbersof MIMO of respective wireless channels determined to be idle by carriersense is compared with a number of retransmission packets. Then, whenboth of the numbers are different or only when the number ofsimultaneous transmissions is larger than the number of retransmissionpackets, the retransmission packets are reconstructed according to thenumber of simultaneous transmissions and the reconstructedretransmission packets are simultaneously transmitted by using the idlewireless channels and the MIMO.

According to an invention of claim 4, when retransmission processing isto be executed due to a failure of transmission of a data packet betweentwo STAs, a number of wireless channels determined to be idle by carriersense is compared with a number of retransmission packets. Then, whenthe number of idle channels is larger than the number of retransmissionpackets, the retransmission packets are copied according to a number ofsurplus idle channels, and the retransmission packets and a copy packetare simultaneously transmitted by using the idle wireless channels.Then, a receive-side STA diversity-receives the retransmission packetsand the copy packet which are simultaneously transmitted.

According to an invention of claim 5, when retransmission processing isto be executed due to a failure of transmission of a data packet betweentwo STAs using MIMO, a number of MIMOs of one wireless channeldetermined to be idle by carrier sense is compared with a number ofretransmission packets. Then, when the number of MIMOs is larger thanthe number of retransmission packets, the retransmission packets arecopied according to a number of surplus MIMOs and the retransmissionpackets and a copy packet are simultaneously transmitted by using theMIMO. Then, a receive-side STA diversity-receives the retransmissionpackets and the copy packet which are simultaneously transmitted.

According to an invention of claim 6, when retransmission processing isto be executed due to a failure of transmission of a data packet betweentwo STAs capable of using MIMO of each wireless channel together, anumber of simultaneous transmissions corresponding to a sum of numbersof MIMO of wireless channels determined to be idle by carrier sense iscompared with a number of retransmission packets. Then, when the numberof simultaneous transmissions is larger than the number ofretransmission packets, the retransmission packets are copied accordingto a surplus number in the number of simultaneous transmissions, and theretransmission packets and a copy packet are simultaneously transmittedby using the idle wireless channels and the MIMO. Then, a receive-sideSTA diversity-receives the retransmission packets and the copy packetwhich are simultaneously transmitted.

According to an invention of claim 7, multiple wireless channelsdetermined to be idle both by physical carrier sense that determines abusy state or an idle state according to received power and by virtualcarrier sense that determines the busy state during a set transmissioninhibition time are used between two STAs. When retransmissionprocessing is to be executed due to a failure of transmission of a datapacket between the STAs, a number of wireless channels determined to beidle by the carrier senses is compared with a number of retransmissionpackets. Then, when the number of idle channels is smaller than thenumber of retransmission packets, a transmission time for the pluralretransmission packets via the idle wireless channel is secured and theplural retransmission packets are continuously transmitted without useof the physical carrier sense.

According to an invention of claim 8, when retransmission processing isto be executed due to a failure of transmission of a data packet betweentwo STAs using MIMO, a number of MIMOs of one wireless channeldetermined to be idle by carrier sense is compared with a number ofretransmission packets. Then, when the number of MIMOs is smaller thanthe number of retransmission packets, a transmission time for the pluralretransmission packets via the idle wireless channel is secured, and theplural retransmission packets are continuously transmitted without useof physical carrier sense.

According to an invention of claim 9, when retransmission processing isto be executed due to a failure of transmission of a data packet betweentwo STAs capable of using MIMO of each wireless channel together, anumber of simultaneous transmissions corresponding to a sum of numbersof MIMO of respective wireless channels determined to be idle by carriersenses is compared with a number of retransmission packets. Then whenthe number of simultaneous transmissions is smaller than the number ofretransmission packets, a transmission time for the pluralretransmission packets via the idle wireless channel is secured and theplural retransmission packets are continuously transmitted without useof physical carrier sense.

According to an invention of claim 10, the number of MIMOs in any one ofclaims 2, 3, 5, 6, 8, 9 is set according to a channel condition betweenthe two STAs.

According to an invention of claim 11, in any one of claims 7-9,determined is a procedure for securing the transmission time for theplural retransmission packets via the idle wireless channel andcontinuously transmitting the plural retransmission packets without useof the physical carrier sense. In a retransmission packet to betransmitted first, the transmission time for the plural retransmissionpackets is set as the transmission inhibition time, and theretransmission packet to be transmitted first is transmitted. An STAhaving received the retransmission packet refrains from transmittingduring the transmission inhibition time, while an own STA transmittingthe retransmission packet continuously transmits a subsequentretransmission packet.

According to an invention of claim 12, in any one of claims 7-9,determined is a procedure for securing the transmission time for theplural retransmission packets via the idle wireless channel andcontinuously transmitting the plural retransmission packets without useof the physical carrier sense. Information indicating presence of asubsequent retransmission packet is appended to a retransmission packetto be transmitted first, and an STA normally receiving theretransmission packet sets a transmission time for the subsequentretransmission packet as the transmission inhibition time in a replypacket to transmit the reply packet. An STA having received the replypacket refrains from transmitting during the transmission inhibitiontime, while an own STA as a destination of the reply packet ignores thetransmission inhibition time to continuously transmit the subsequentretransmission packet.

According to an invention of claim 13, in any one of claims 7-9,determined is a procedure for securing the transmission time for theplural retransmission packets via the idle wireless channel andcontinuously transmitting the plural retransmission packets without useof the physical carrier sense. The transmission time for the pluralretransmission packets is set in a control packet as the transmissioninhibition time for transmission of the control packet. An STA havingreceived the control packet refrains from transmitting during thetransmission inhibition time, while an own STA transmitting the controlpacket continuously transmits the plural retransmission packets.

According to an invention of claim 14, the STA having received thecontrol packet in claim 13 sets the transmission inhibition time in areply packet to transmit the reply packet. An STA having received thereply packet refrains from transmitting during the transmissioninhibition time, while the own STA as a destination of the reply packetignores the transmission inhibition time to continuously transmit theplural retransmission packets.

According to an invention of claim 15, determined is a procedure forretransmission processing between two STAs between which a plurality ofdata packets are simultaneously transmitted by using multiple wirelesschannels, a plurality of data packets are simultaneously transmitted byMIMO using one wireless channel, or a plurality of data packetscorresponding to a sum of numbers of MIMO of multiple wireless channelsare simultaneously transmitted by using the both. A transmit-side STAgenerates a plurality of data packets equal in a transmission time fromone data frame or more accumulated in a transmission buffer tosimultaneously transmit the plural data packets. Then, the transmit-sideSTA retransmits only a not-successfully-transmitted data packet whenreceiving an ACK packet transmitted from a receive-side STA to recognizea success of transmission of part of the data packets. On the otherhand, the transmit-side STA retransmits the plural data packets when notreceiving the ACK packet. Further, the transmit-side STA startssubsequent transmission processing when receiving the ACK packet torecognize success of transmission of all the simultaneously transmitteddata packets.

According to an invention of claim 16, a transmit-side STA generates aplurality of data packets equal in a transmission time from one dataframe or more accumulated in a transmission buffer to simultaneouslytransmit the plural data packets. Further, the transmit-side STAtransmits a negative acknowledgement request packet (hereinafter, NACKrequest packet) for requesting a NACK packet (hereinafter, NACK packet)indicating a not-successfully-received data packet to receive the NACKpacket transmitted from a receive-side STA. Here, the transmit-side STAretransmits only the not-successfully-transmitted data packet whenrecognizing a failure of transmission of part or all of the datapackets. On the other hand, the transmit-side STA starts subsequenttransmission processing when not receiving the NACK packet.

According to an invention of claim 17, a transmit-side STA generates atleast a simultaneously transmittable number of data packets equal in atransmission time, from one data frame or more accumulated in atransmission buffer to continuously simultaneously transmit the pluraldata packets in unit of the simultaneously transmittable number.Further, the transmit-side STA transmits an ACK request packet forrequesting an ACK packet indicating a successfully received data packetto receive the ACK packet transmitted from a receive-side STA. Here, thetransmit-side STA retransmits only a not-successfully-transmitted datapacket when recognizing a success of transmission of part of the datapackets. On the other hand, the transmit-side STA retransmits the pluraldata packets when not receiving the ACK packet. Further, thetransmit-side STA starts subsequent transmission processing whenreceiving the ACK packet to recognize success of transmission all thesimultaneously transmitted data packets.

According to an invention of claim 18, a transmit-side STA generates atleast a simultaneously transmittable number of data packets equal in atransmission time, from one data frame or more accumulated in atransmission buffer to continuously simultaneously transmit the pluraldata packets in unit of the simultaneously transmittable number.Further, the transmit-side STA transmits a NACK request packet forrequesting a NACK packet indicating a not-successfully-received datapacket to receive the NACK packet transmitted from a receive-side STA.Here, the transmit-side STA retransmits only thenot-successfully-transmitted data packet when recognizing a failure oftransmission of part or all of the data packets. On the other hand, thetransmit-side STA starts subsequent transmission processing when notreceiving the NACK packet.

According to an invention of claim 19, in claim 17 or claim 18, when theplural data packets continuously simultaneously transmitted are equal inthe transmission time, in a case where a number of thenot-successfully-transmitted data packets exceeds the simultaneouslytransmittable number, the not-successfully-transmitted data packets arecontinuously simultaneously retransmitted. On the other hand, in a casewhere the number of not-successfully-transmitted data packets is equalto or smaller than the simultaneously transmittable number, the notsuccessfully transmitted data packet(s) is(are) retransmitted orsimultaneously retransmitted.

According to an invention of claim 20, in claim 17 or claim 18, when thetransmission time for the plural data packets continuouslysimultaneously transmitted is different depending on each unit of thesimultaneously transmittable number, in a case where thenot-successfully-transmitted data packets are different in thetransmission time, a dummy bit is added to a data packet whosetransmission time is shorter to make packet time lengths equal. Then, ina case where a number of the not-successfully-transmitted data packetsexceeds the simultaneously transmittable number, thenot-successfully-transmitted data packets are continuouslysimultaneously retransmitted. On the other hand, in a case where thenumber of not-successfully-transmitted data packets is equal to orsmaller than the simultaneously transmittable number, thenot-successfully-transmitted data packet(s) is(are) retransmitted orsimultaneously retransmitted.

According to an invention of claim 21, in any one of claim 15 to claim18, instead of retransmitting only the not-successfully-transmitted datapacket, a data packet with a smallest sequence number among thenot-successfully-transmitted data packets and all the subsequent datapackets are retransmitted.

According to an invention of claim 22, a number of simultaneouslytransmitted data packets is determined to be p (p is an integer equal to2 or more). In a step 1 of a first STA transmitting the data packets, M(M is an integer equal to 1 or more) packet-sets each consisting of ppieces of data packets or less that are equal in a transmission time aregenerated from one data frame or more accumulated in a transmissionbuffer. In a step 2, one packet-set (determined to be an Nth packet-set)among the M packet-sets is simultaneously transmitted in order ofgeneration. In a step 3, an N+1th packet-set is simultaneouslytransmitted in the order of generation when a reply packet indicatingsuccess of transmission of all the data packets is received from asecond STA having received the Nth packet-set. In a step 4, a number hof untransmitted data packets failing in transmission is obtained whenthe reply packet indicating a failure of transmission of part of thedata packets is received from the second STA, and when there is anyuntransmitted data packet in and after the N+1th packet-set, h pieces ofthe untransmitted data packets in the Nth packet-set and (p−h) pieces ofuntransmitted data packets or less in and after the N+1th packet-set aresimultaneously transmitted in the order of generation, while, when thereis no untransmitted data packet in and after the N+1th packet-set, hpieces of the untransmitted data packets in the Nth packet-set aretransmitted.

In a step 5, the Nth packet-set is simultaneously transmitted again whenthe reply packet is not received from the second STA. In a step 6, whenall the data packets constituting the Nth packet-set are successfullytransmitted, the number h of the untransmitted data packets failing intransmission is substituted for by a number of the untransmitted datapackets in and after the N+1th packet-set, and the processing of thestep 4 is thereafter repeated until the transmission of all the packetdata in the M packet-sets is completed. Next, after the transmission ofall the data packets in the M packet-sets is completed, the first STAreturns to the step 1 to generate new M packet-sets.

According to an invention of claim 23, in claim 22, after the packet-setis transmitted from the first STA to the second STA, a NACK requestpacket is transmitted. The second STA transmits a NACK packet inresponse to the NACK request packet when there is anynot-successfully-transmitted data packet. The first STA executes theprocessing of the step 3 and does not execute the processing of the step5 when the NACK packet does not arrive.

According to an invention of claim 24, in claim 22 or claim 23, when thenumber M of the packet-sets generatable at a time exceeds an upper limitvalue in the step 1, the generation of a surplus packet-set over theupper limit value is suspended and a data frame not used for generatingthe packet-set is kept for a next packet-set generation.

According to an invention of claim 25, in claim 22 or claim 23, when anumber of the data frames used for generating the M packet-sets exceedsan upper limit value in the step 1, the generation of a packet-set froma surplus data frame over the upper limit value is suspended and thedata frame is kept for a next packet-set generation.

According to an invention of claim 26, a number of simultaneouslytransmitted data packets is determined to be p (p is an integer equal to2 or more). In a step 1 of a first STA transmitting the data packets, apacket-group consisting of a plurality of data packets that are equal ina time transmission T is generated from one data frame or moreaccumulated in a transmission buffer, and a number D1 of data packets isadded to a cumulative number R of data packets. In a step 2, a maximumof p pieces of untransmitted data packets out of the data packetsbelonging to the packet-group are simultaneously transmitted in order ofgeneration. In a step 3, when a reply packet indicating success oftransmission of all the data packets is received from a second STAhaving received the simultaneously transmitted data packets, a number wof remaining untransmitted data packets in the packet-group is obtained.When w≧p, the maximum of p pieces of untransmitted data packets aresimultaneously transmitted in the order of generation. When w<p and thetransmission buffer has a newly inputted data frame, data packets whosetransmission time is equal to the time T are generated from the dataframe to be added to the packet-group, and after a number D2 of the datapackets is added to the cumulative number R of data packets, the maximumof p pieces of untransmitted data packets are simultaneously transmittedin the order of generation.

In a step 4, when the reply packet indicating a failure of transmissionof part of the simultaneously transmitted data packets arrives from thesecond STA, a total number w of the untransmitted data packets failingin transmission and remaining untransmitted data packets in thepacket-group is obtained. When w≧p, the maximum of p pieces ofuntransmitted data packets including the untransmitted data packetsfailing in transmission are simultaneously transmitted in the order ofgeneration. When w<p and the transmission buffer has a newly inputteddata frame, data packets whose transmission time is equal to the time Tare generated from the data frame to be added to the packet-group, andafter a number of the data packets is added to the cumulative number Rof data packets, the maximum of p pieces of untransmitted data packetsincluding the untransmitted data packets failing in transmission aresimultaneously transmitted in the order of generation. In a step 5, whenthe reply packet relating to reception of the packet-sets does notarrive from the second STA, all the data packets transmitted latest aresimultaneously transmitted.

Then, the first STA repeats the processing of one of the step 3 to thestep 5, resets the transmission time T and the cumulative number R ofdata packets when there is no new data frame input and the transmissionof all the data packets in the packet-group is completed, and returns tothe step 1.

According to an invention of claim 27, in claim 26, the first STAtransmits a NACK request to the second STA after simultaneouslytransmitting the data packets. The second STA transmits a NACK packet inresponse to the NACK request packet when there is anynot-successfully-transmitted data packet. The first STA executes theprocessing of the step 3 and does not execute the processing of the step5 when the NACK packet does not arrive.

According to an invention of claim 28, in claim 26 or claim 27, when thecumulative number R of data packets in the packet-group exceeds an upperlimit value, the generation of the data packets from the new data frameis suspended. Then, after the transmission of all the data packets inthe packet-group is completed, the transmission time T and thecumulative number R of data packets are reset, and a flow returns to thestep 1.

According to an invention of claim 29, in claim 28, when the cumulativenumber R of data packets in the packet-group does not exceed the upperlimit value after the completion of the transmission of all the datapackets in the packet-group, the time transmission T and the cumulativenumber R of data packets are not reset and the flow returns to the step1.

According to an invention of claim 30, in any one of claims 26 to 29,instead of the cumulative number R of data packets constituting thepacket-group, a number F of accumulated data frames used for generatingthe packet-group is used.

According to an invention of claim 31, in claim 22, instead of thenumber h of the untransmitted data packets failing in transmission inthe step 4, the untransmitted data packets failing in transmission andsubsequent data packets in the packet-sets are determined to be theuntransmitted data packets, and a number thereof is determined to be h.

According to an invention of claim 32, in claim 26, instead of the totalnumber w of the untransmitted data packets failing in transmission andthe remaining untransmitted data packets in the packet-group in the step4, the data packets failing in transmission and subsequent data packetsin the packet-group are determined to be the untransmitted data packetsand a number thereof is determined to be w.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a flowchart showing a processing procedure of a firstembodiment of the present invention;

FIG. 2 are time charts showing operation examples of the firstembodiment of the present invention;

FIG. 3 is a time chart showing an operation example of the firstembodiment of the present invention;

FIG. 4 is a flowchart showing a processing procedure of a secondembodiment of the present invention;

FIG. 5 is a flowchart showing a processing procedure of a thirdembodiment of the present invention;

FIG. 6 is a flowchart showing a processing procedure of a fourthembodiment of the present invention;

FIG. 7 is a flowchart showing a processing procedure of a fifthembodiment of the present invention;

FIG. 8 is a flowchart showing a processing procedure of a sixthembodiment of the present invention;

FIG. 9 are time charts showing operation examples of the sixthembodiment of the present invention;

FIG. 10 is a flowchart showing a processing procedure of a seventhembodiment of the present invention;

FIG. 11 is a flowchart showing a processing procedure of an eighthembodiment of the present invention;

FIG. 12 is a flowchart showing a processing procedure of a ninthembodiment of the present invention;

FIG. 13 is a flowchart showing a processing procedure of a tenthembodiment of the present invention;

FIG. 14 are flowcharts showing reception processing procedures of aretransmission packet and a copy packet;

FIG. 15 is a flowchart showing a processing procedure of an eleventhembodiment of the present invention;

FIG. 16 is a time chart showing an operation example of the eleventhembodiment of the present invention;

FIG. 17 is a flowchart showing a processing procedure in a transmit-sideSTA of a twelfth embodiment of the present invention;

FIG. 18 is a flowchart showing a processing procedure in a receive-sideSTA of the twelfth embodiment of the present invention;

FIG. 19 is a time chart showing an operation example of the twelfthembodiment of the present invention;

FIG. 20 is a flowchart showing a processing procedure of a thirteenthembodiment of the present invention;

FIG. 21 is a time chart showing an operation example of the thirteenthembodiment of the present invention;

FIG. 22 is a flowchart showing a processing procedure of a fourteenthembodiment of the present invention;

FIG. 23 is a time chart showing an operation example of the fourteenthembodiment of the present invention;

FIG. 24 is a flowchart showing a processing procedure of a fifteenthembodiment of the present invention;

FIG. 25 is a time chart showing an operation example of the fifteenthembodiment of the present invention;

FIG. 26 is a flowchart showing a processing procedure of a sixteenthembodiment of the present invention;

FIG. 27 is a time chart showing an operation example of the sixteenthembodiment of the present invention;

FIG. 28 is a flowchart showing a processing procedure of a seventeenthembodiment of the present invention;

FIG. 29 is a chart showing an example 1 ofgenerating/transmitting/retransmitting a plurality of data packets inthe seventeenth embodiment of the present invention;

FIG. 30 is a time chart showing an operation example of the example 1 ofgenerating/transmitting/retransmitting the data packets in theseventeenth embodiment of the present invention;

FIG. 31 is a chart showing an example 2 ofgenerating/transmitting/retransmitting a plurality of data packets inthe seventeenth embodiment of the present invention;

FIG. 32 is a time chart showing an operation example of the example 2 ofgenerating/transmitting/retransmitting the plural data packets in theseventeenth embodiment of the present invention;

FIG. 33 is a flowchart showing a processing procedure of an eighteenthembodiment of the present invention;

FIG. 34 is a time chart showing an operation example of the eighteenthembodiment of the present invention;

FIG. 35 is a time chart showing an operation example of a nineteenthembodiment of the present invention;

FIG. 36 is a time chart showing an operation example of a twentiethembodiment of the present invention;

FIG. 37 is a view showing a structure of a data packet;

FIG. 38 are views showing structures of extension-type ACK packets;

FIG. 39 are views showing structures of extension-type ACK requestpackets;

FIG. 40 is a flowchart showing a processing procedure of a twenty-firstembodiment of the present invention;

FIG. 41 is a time chart showing an operation example of the twenty-firstembodiment of the present invention;

FIG. 42 is a flowchart showing a processing procedure of a twenty-secondembodiment of the present invention;

FIG. 43 is a time chart showing an operation example of thetwenty-second embodiment of the present invention;

FIG. 44 is a flowchart showing a processing procedure of a twenty-fourthembodiment of the present invention;

FIG. 45 is a time chart showing an operation example of thetwenty-fourth embodiment of the present invention;

FIG. 46 is a flowchart showing a processing procedure of a twenty-fifthembodiment of the present invention;

FIG. 47 is a time chart showing an operation example of the twenty-fifthembodiment of the present invention;

FIG. 48 is a time chart to explain a problem when center frequencies ofmultiple wireless channels are close to each other;

FIG. 49 are views to explain methods of generating, from a dataframe/data frames, a plurality of data packets to be simultaneouslytransmitted, (1) showing an example of frame division, (2) showing anexample of frame patching, and (3) showing an example of frameaggregation;

FIG. 50 are time charts to explain a problem 1 at the time ofretransmission (when the number of wireless channels increases);

FIG. 51 is a time chart to explain a problem 1 at the time ofretransmission (when the number of wireless channels decreases);

FIG. 52 is a time chart to explain a conventional retransmission method1; and

FIG. 53 is a time chart to explain a conventional retransmission method2.

BEST MODE FOR CARRYING OUT THE INVENTION

A first embodiment to a fourteenth embodiment described below correspondto a case where the number of idle channels becomes larger/smaller atthe time of retransmission processing than that at the time of initialtransmission (the aforesaid problem 1 at the time of retransmission), acase where the number of retransmission packets and the number of idlechannels are different, and so on, and are intended to make effectiveuse of simultaneous transmission also at the time of the retransmissionprocessing.

First Embodiment

FIG. 1 shows a flowchart of a first embodiment of the present invention.FIG. 2 and FIG. 3 show operation examples of the first embodiment of thepresent invention. It is assumed here that wireless channels #1, #2, #3are prepared.

First, when data arrives in a transmission buffer, it is searched bycarrier sense if there is any idle wireless channel (Si01, S102). Here,at a timing the data is generated t1, the wireless channel #3 is busyand the wireless channel #1 and the wireless channel #2 are retrieved asidle. Next, according to the number of the idle channels and the numberof transmission-standby data frames, the data is reconstructed so thatthe packet time lengths in the respective wireless channels becomeequal, and the reconstructed packets are assigned to the wirelesschannels and (simultaneously) transmitted (S103).

In the examples shown in FIG. 2, which are cases where there is one dataframe to be transmitted while there are two idle channels, a data frame1 is divided (1 a, 1 b) so that two data packets are generated by themethod shown in FIG. 49(1) and the data packets are assigned to therespective wireless channels to be simultaneously transmitted.

Next, it is confirmed for all the simultaneously transmitted packetswhether or not respective ACK packets are received within apredetermined time after the transmission (S104), and a packet for whichthe ACK packet is not received within the predetermined time issubjected to retransmission processing (S105 to S108). In theretransmission processing, it is first searched by carrier sense ifthere is any idle wireless channel (S105). Next, the number of the idlechannels and the number of retransmission packets are compared, and whenboth of the numbers are different (the number of the idle channels≠thenumber of the retransmission packets), in order to use all the idlechannels for the retransmission, the retransmission packets arereconstructed so that the packet time lengths in the respective wirelesschannels become equal, and the reconstructed packets are assigned to therespective wireless channels to be (simultaneously) retransmitted(S107). On the other hand, when the number of the idle channels and thenumber of the retransmission packets are equal, no reconstruction isnecessary, and therefore, the retransmission packets are assigned to therespective wireless channels to be (simultaneously) retransmitted(S108). Thereafter, the above-described retransmission processing isrepeated until the ACK packets are received for all the packets.

FIG. 2(1) is a case where the ACK packet for the data packet 1 atransmitted via the wireless channel #1 is received but the ACK packetfor the data packet 1 b transmitted via the wireless channel #2 is notreceived, and therefore, the data packet 1 b is subjected to theretransmission processing. Here, the number of the idle channels is 3 ata retransmission processing start time t2 while the number of theretransmission packets is 1, and therefore, the data packet 1 b isdivided into three (1 b-1, 1 b-2, 1 b-3), which are then assigned to thewireless channels #1, #2, #3 respectively and simultaneouslyretransmitted (FIG. 1, S107).

FIG. 2(2) is a case where the ACK packets are not received for the datapackets 1 a, 1 b transmitted via the wireless channels #1, #2, andtherefore, the data packets 1 a, 1 b are subjected to the retransmissionprocessing. Here, the number of the idle channels is 3 at theretransmission processing start time t2 while the number of theretransmission packets is 2, and therefore, each of the data packets 1a, 1 b is divided for reconstruction (1 a-1, (1 a-2, 1 b-1), 1 b-2), andthe reconstructed data packets are assigned to the wireless channels #1,#2, #3 respectively and simultaneously retransmitted (FIG. 1, S107).

FIG. 2(3) is a case where the ACK packets are not received for the datapackets 1 a, 1 b transmitted via the wireless channels #1, #2, andtherefore, the data packets 1 a, 1 b are subjected to the retransmissionprocessing. Here, the number of the idle channels is 2 at theretransmission processing start time t2 while the number of theretransmission packets is 2, and therefore, the data packets 1 a, 1 bare not reconstructed but assigned to the wireless channels #1, #2respectively to be simultaneously retransmitted (FIG. 1, S108).

FIG. 2(4) is a case where the ACK packets are not received for the datapackets 1 a, 1 b transmitted via the wireless channels #1, #2, andtherefore, the data packets 1 a, 1 b are subjected to the retransmissionprocessing. Here, the number of the idle channels is 1 at theretransmission processing start time t2 while the number of theretransmission packets is 2, and therefore, the data packets 1 a, 1 bare reconstructed (1 a+1 b) and the resultant packet is assigned to thewireless channel #1 to be retransmitted (FIG. 1, S107). Incidentally, inthis example, the packets into which one data frame is divided as inFIG. 49(1) are returned to one as a result of the reconstruction. Atthis time, when the packet time length exceeds the maximum length, acontrol may be such that the packets are not reconstructed buttransmitted in two separate transmissions via one wireless channel.

In the foregoing examples, when the number of the idle channels and thenumber of the retransmission packets are different, that is, regardlessof whether the number of the idle channels is larger or smaller than thenumber of the retransmission packets, the retransmission packets arereconstructed according to the number of the idle channels. However, thereconstruction of the data packets necessitates a receive-side STA toalso execute corresponding processing, resulting in complication, andtherefore, the reconstruction may be executed only when the number ofthe idle channels is larger than the number of the retransmissionpackets (parenthesized notes for the determination branches at S106 inFIG. 1).

FIG. 3 is a case where the ACK packets are not received for the datapackets 1 a, 1 b transmitted via the wireless channels #1, #2, andtherefore, the data packets 1 a, 1 b are subjected to the retransmissionprocessing. Here, while the number of the retransmission packets is 2,the number of the idle channels at the retransmission processing starttime t2 is 1, which is smaller than the number of the data packets, sothat the data packets 1 a, 1 b are not reconstructed but the data packet1 a is first assigned to the wireless channel #1 to be retransmitted(FIG. 1, S108). At a next retransmission processing start time t3, thenumber of idle channels is 2 while the number of the retransmissionpackets is 1, and therefore, the data packet 1 b is divided into two (1b-1, 1 b-2), which are then assigned to the wireless channels #1, #3respectively to be simultaneously retransmitted (FIG. 1, S107).

Second Embodiment

FIG. 4 shows a flowchart of a second embodiment of the presentinvention. This embodiment is characterized in that, in the firstembodiment, a MIMO system is utilized for the retransmission of datapackets.

First, when data arrives in a transmission buffer, it is searched bycarrier sense if there is any idle wireless channel (S101, S102). Next,according to the number of the idle channels and the number oftransmission-standby data packets, the data packets are reconstructed sothat the packet time lengths in the respective wireless channels becomeequal, and the reconstructed packets are assigned to the respectivewireless channels to be (simultaneously) transmitted (S103).

Next, it is confirmed for all the simultaneously transmitted packetswhether or not ACK packets are received within a predetermined timeafter the transmission (S104), and a packet for which the ACK packet isnot received within the predetermined time is subjected toretransmission processing (S111 to S114). In the retransmissionprocessing, it is first searched by carrier sense if there is any idlewireless channel (S111). Here, one idle wireless channel is selected.Next, the number of MIMOs in the selected wireless channel and thenumber of retransmission packets are compared (S112), and when thenumber of MIMOs is equal to or larger than the number of theretransmission packets, the retransmission packets are divided forreconstruction into packets with the same packet time length accordingto the number of MIMOs in order to retransmit the retransmission packetsat a time by the MIMO, and the reconstructed packets are assigned torespective antennas of the MIMO to be simultaneously retransmitted(S113). On the other hand, when the number of MIMOs is smaller than thenumber of the retransmission packets, the retransmission packets are notreconstructed but assigned to the one wireless channel to beretransmitted (S114). Thereafter, the above-described retransmissionprocessing is repeated until the ACK packets are received for all thepackets.

Third Embodiment

FIG. 5 shows a flowchart of a third embodiment of the present invention.This embodiment is characterized in that, in the first embodiment, aMIMO system is used for both the simultaneous transmission andretransmission of data packets. Note that owing to the use of both ofidle wireless channels and MIMO, the number of simultaneouslytransmittable data packets amounts to the sum of the numbers of MIMOs ofthe respective idle wireless channels. Note that, in the embodimentbelow, the description will be given on assumption that the numbers ofMIMOs of the respective wireless channels are the same, so that thenumber of simultaneous transmissions equals the number of the idlechannels×the number of MIMOs.

When data arrives in a transmission buffer, it is first searched bycarrier sense if there is any idle wireless channel (S101, S102). Next,according to the number of the idle channels×the number of MIMOs, thedata is reconstructed into packets with the same packet time length, andthe reconstructed packets are assigned to the respective wirelesschannels and antennas of the MIMO to be (simultaneously) transmitted(S121).

Next, it is confirmed for all the simultaneously transmitted packetswhether or not ACK packets are received within a predetermined timeafter the transmission (S104), and a packet for which the ACK packet isnot received within the predetermined time is subjected toretransmission processing (S105, S122 to S124). In the retransmissionprocessing, it is first searched by carrier sense if there is any idlewireless channel (S105). Next, the number of the idle channels×thenumber of MIMOs is compared with the number of retransmission packets(S122), and when both of the numbers are different from each other (thenumber of the idle channels×the number of MIMOs≠the number of theretransmission packets), for the purpose of using all the MIMO and idlechannels for retransmission, the packets are reconstructed to those withthe same packet time length and the reconstructed packets are assignedto the respective wireless channels and the respective antennas of theMIMO to be (simultaneously) retransmitted (S123). On the other hand,when the number of the idle channels×the number of MIMOs is equal to thenumber of the retransmission packets, the retransmission packets are notreconstructed but assigned to the respective wireless channels and therespective antennas of the MIMO to be (simultaneously) retransmitted(S124). Thereafter, the above-described retransmission processing isrepeated until the ACK packets are received for all the packets.

Also in this embodiment, the reconstruction of the data packetsnecessitates a receive-side STA to execute corresponding processing,resulting in complication, and therefore, the reconstruction may beexecuted only when the number of the idle channels×the number of MIMOsis larger than the number of the retransmission packets (parenthesizednotes for the determination branches at S122 in FIG. 5).

Fourth Embodiment

FIG. 6 shows a flowchart of a fourth embodiment of the presentinvention. This embodiment is characterized in that as for the number ofMIMOs used at S121, S122 to S124 of the third embodiment, antennacorrelation is found based on a propagation coefficient, and the numberof MIMOs multiplexable in one channel is calculated according to apredetermined threshold value (S125, S126). The other is the same asthat of the third embodiment. This is similarly applicable to the numberof MIMOs used at S112 of the second embodiment.

Fifth Embodiment

FIG. 7 shows a flowchart of a fifth embodiment of the present invention.This embodiment is characterized in that simultaneous transmission usingmultiple wireless channels or simultaneous transmission using MIMO isselected based on the number of data arriving in a transmission bufferor the number of MIMOs that depends on a channel condition (S131). Inresponse to this selection, packets are reconstructed to those with thesame packet time length according to the number of idle channels (or thenumber of MIMOs), and the reconstructed packets are assigned to therespective wireless channels (or respective antennas of the MIMO) to be(simultaneously) transmitted (S132).

Next, it is confirmed for all the simultaneously transmitted packetswhether or not ACK packets are received within a predetermined time fromthe transmission (S104), and a packet for which the ACK packet is notreceived within the predetermined time is subjected to retransmissionprocessing (S105, S133 to S135). In the retransmission processing, it isfirst searched by carrier sense if there is any idle wireless channel(S105). Next, the number of the idle channels (or the number of MIMOs)and the number of retransmission packets are compared (S133), and whenboth of the numbers are different (the number of the idle channels≠thenumber of the retransmission packets (or the number of MIMOs≠the numberof the retransmission packets)), the packets are reconstructed intothose with the same packet time length in order to use all the idlechannels (or respective antennas of the MIMO) for the retransmission,and the reconstructed packets are assigned to the respective wirelesschannels (or the respective antennas of the MIMO) to be (simultaneously)retransmitted (S134).

On the other hand, when the number of the idle channels (or the numberof MIMOs) and the number of the retransmission packets are equal, theretransmission packets are not reconstructed but assigned to therespective wireless channels (or the respective antennas of the MIMO) tobe (simultaneously) retransmitted (S135). Thereafter, theabove-described retransmission processing is repeated until the ACKpackets are received for all the packets.

Sixth Embodiment

FIG. 8 shows a flowchart of a sixth embodiment of the present invention.FIG. 9 show operation examples of the sixth embodiment of the presentinvention. It is assumed here that wireless channels #1, #2, #3 areprepared.

When data arrives in a transmission buffer, it is first searched bycarrier sense if there is any idle wireless channel (S201, S202). Here,at a transmission data occurrence timing t1, the wireless channel #3 isbusy and the wireless channels #1 and the wireless channel #2 areretrieved as idle. Next, according to the number of the idle channelsand the number of transmission-standby data packets, the data packetsare reconstructed so that packet time lengths in the respective wirelesschannels become equal, and the reconstructed packets are assigned to therespective wireless channels to be (simultaneously) transmitted (S203).

In the examples shown in FIG. 9, which are cases where there is one dataframe to be transmitted while there are two idle channels, a data frame1 is divided (1 a, 1 b) by the method shown in FIG. 49(1) so that twodata packets are generated, and the data packets are assigned to therespective wireless channels to be simultaneously transmitted.

Next, it is confirmed for all the simultaneously transmitted packetswhether or not ACK packets are received within a predetermined timeafter the transmission (S204), and a packet for which the ACK packet isnot received within the predetermined time is subjected toretransmission processing (S205 to S209). In the retransmissionprocessing, it is first searched by carrier sense if there is any idlewireless channel (S205). Next, the number of the idle channels and thenumber of retransmission packets are compared, and when the number ofthe idle channels is larger than the number of the retransmissionpackets, the retransmission packets are copied according to the numberof surplus idle channels over the number of the retransmission packets,and the retransmission packets and a copy packet are assigned to thewireless channels to be simultaneously retransmitted (S207).Incidentally, as the copy packet, a new packet that is generated bycopying a payload portion of the retransmission packet may be used. Asfor the retransmission packet whose copy packet is transmitted, afrequency diversity effect can be obtained. On the other hand, when thenumber of the idle channels is equal to or smaller than the number ofthe retransmission packets, the retransmission packets are assigned tothe respective wireless channels to be (simultaneously) retransmitted(S208). Thereafter, the above-described retransmission processing isrepeated until the ACK packets are received for all the packets.

FIG. 9(1) is a case where the ACK packet for the data packet 1 btransmitted via the wireless channel #2 is not received though the ACKpacket for the data packet 1 a transmitted via the wireless channel #1is received, and therefore, the data packet 1 b is subjected to theretransmission processing. Here, since the number of the idle channelsis 2 at a retransmission processing start time t2 while the number ofthe retransmission packets is 1, the data packet 1 b is copied (1 b, 1b′), and they are assigned to the wireless channels #1, #2 respectivelyto be simultaneously retransmitted (FIG. 8, S207).

FIG. 9(2) is a case where the ACK packets are not received for the datapackets 1 a, 1 b transmitted via the wireless channels #1, #2, andtherefore, the data packets 1 a, 1 b are subjected to the retransmissionprocessing. Here, the number of the idle channels at the retransmissionprocessing start time t2 is 3 while the number of the retransmissionpackets is 2, and therefore, for example, the data packet 1 a out of thedata packets 1 a, 1 b is copied (1 a, 1 b, 1 a′) and they are assignedto the wireless channels #1, #2, #3 respectively to be simultaneouslyretransmitted (FIG. 8, S207).

FIG. 9(3) is a case where the ACK packets are not received for the datapackets 1 a, 1 b transmitted via the wireless channels #1, #2, andtherefore, the data packets 1 a, 1 b are subjected to the retransmissionprocessing. Here, the number of the idle channels is 2 at theretransmission processing start time t2 while the number of theretransmission packets is 2, and therefore, the data packets 1 a, 1 bare assigned to the respective wireless channels #1, #2 to besimultaneously retransmitted (FIG. 8, S208).

FIG. 9(4) is a case where the ACK packets are not received for the datapackets 1 a, 1 b transmitted via the wireless channels #1, #2, andtherefore, the data packets 1 a, 1 b are subjected to the retransmissionprocessing. Here, while the number of the retransmission packets is 2,the number of the idle channels at the retransmission processing starttime t2 is 1, which is smaller than the number of the data packets, andtherefore, the data packet 1 a is first assigned to the wireless channel#1 to be retransmitted (FIG. 8, S208). At a next retransmissionprocessing start time t3, the number of the idle channels is 2 while thenumber of the retransmission packets is 1, and therefore, the datapacket 1 b is copied (1 b, 1 b′), and they are assigned to the wirelesschannels #1, #2 respectively to be simultaneously retransmitted (FIG. 8,S207).

Incidentally, when the number of the idle channels becomes smaller thanthe number of the retransmission packets at the time of theretransmission processing, the retransmission packets may bereconstructed according to the number of the idle channels(parenthesized notes in the determination branches at S206 in FIG. 8,S209).

Seventh Embodiment

FIG. 10 shows a flowchart of a seventh embodiment of the presentinvention. This embodiment is characterized in that, in the sixthembodiment, a MIMO system is utilized for the retransmission of datapackets.

When data arrives in a transmission buffer, it is first searched bycarrier sense if there is any idle wireless channel (S201, S202). Next,according to the number of the idle channels and the number oftransmission-standby data packets, the data is reconstructed so thatpacket time lengths in the respective wireless channels become equal,and the reconstructed packets are assigned to the respective wirelesschannels to be (simultaneously) transmitted (S203).

Next, it is confirmed for all the simultaneously transmitted packetswhether or not ACK packets are received within a predetermined timeafter the transmission (S204), and a packet for which the ACK packet isnot received within the predetermined time is subjected toretransmission processing (S211 to S215). In the retransmissionprocessing, it is first searched by carrier sense if there is any idlewireless channel (S211). Here, one idle wireless channel is selected.Next, the number of MIMOs in the selected wireless channel and thenumber of retransmission packets are compared (S212), and when thenumber of MIMOs is larger than the number of the retransmission packets,the retransmission packet is copied according to the number of surplusMIMOs over the number of the retransmission packets, and theretransmission packets and a copy packet are assigned to respectiveantennas of the MIMO to be simultaneously retransmitted (S213). Notethat as the copy packet, a new packet that is generated by copying apayload portion of the retransmission packet is used. As for theretransmission packet whose copy packet is transmitted, a spacediversity effect can be obtained.

When the number of MIMOs is equal to the number of the retransmissionpackets (provided that the number of the retransmission packets is equalto or larger than 2), the retransmission packets are assigned to therespective antennas of the MIMO to be simultaneously retransmitted(S214). On the other hand, when the number of MIMOs is smaller than thenumber of the retransmission packets (including a case where the numberof the retransmission packets is 1), the MIMO is not used but the idlechannel is used to retransmit the retransmission packets in sequence(S215). Thereafter, the above-described retransmission processing isrepeated until the ACK packets are received for all the packets.Incidentally, when the number of MIMOs is smaller than the number of theretransmission packets, the retransmission packets may be reconstructedaccording to the number of MIMOs to be simultaneously retransmitted.

Eighth Embodiment

FIG. 11 shows a flowchart of an eighth embodiment of the presentinvention. This embodiment is characterized in that, in the sixthembodiment, a MIMO system is used for both the simultaneous transmissionand retransmission of data packets.

When data arrives in a transmission buffer, it is first searched bycarrier sense if there is any idle wireless channel (S201, S202). Next,the data is reconstructed to packets with the same length according tothe number of the idle channels×the number of MIMOs, and the packets are(simultaneously) transmitted by using the respective wireless channelsand the MIMO (S221).

Next, it is confirmed for all the simultaneously transmitted packetswhether or not ACK packets are received within a predetermined timeafter the transmission (S204), and a packet for which the ACK packet isnot received within the predetermined time is subjected toretransmission processing (S205, S222 to S225). In the retransmissionprocessing, it is first searched by carrier sense if there is any idlewireless channel (S205). Next, the number of the idle channels×thenumber of MIMOs is compared with the number of retransmission packets(S222); and when the number of the idle channels×the number of MIMOs islarger than the number of the retransmission packets, the retransmissionpackets are copied according to a surplus number in the number of theidle channels×the number of MIMOs over the number of the retransmissionpackets, and the retransmission packets and a copy packet are assignedto the wireless channels and respective antennas of the MIMO to besimultaneously retransmitted (S223). When the copy packet is assigned tothe wireless channel, a frequency diversity effect can be obtained, andwhen the MIMO is used, a space diversity effect can be obtained.

On the other hand, when the number of the idle channels×the number ofMIMOs is equal to or smaller than the number of the retransmissionpackets, the respective wireless channels and the MIMO are used to(simultaneously) retransmit the retransmission packets (S224).Thereafter, the above-described retransmission processing is repeateduntil the ACK packets are received for all the packets.

Also in this embodiment, when the number of the idle channels×the numberof MIMOs is smaller than the number of the retransmission packets, theretransmission packets may be reconstructed according to the number ofthe idle channels×the number of MIMOs (parenthesized notes in thedetermination branches at S222 in FIG. 11, S225).

Ninth Embodiment

FIG. 12 shows a flowchart of a ninth embodiment of the presentinvention. This embodiment is characterized in that as for the number ofMIMOs used at S221, S222 to S225 in the eighth embodiment, antennacorrelation is found according to a propagation coefficient, and thenumber of MIMOs multiplexable in one channel is calculated based on apredetermined threshold value (S226, S227). The other is the same asthat of the eighth embodiment. This is similarly applicable to thenumber of MIMOs used at S212 of the seventh embodiment.

Tenth Embodiment

FIG. 13 shows a flowchart of a tenth embodiment of the presentinvention. This embodiment is characterized in that simultaneoustransmission using multiple wireless channels or simultaneoustransmission using a MIMO system is selected according to the number ofdata arriving in a transmission buffer or the number of MIMOs thatdepends on a channel condition (S231). In response to this selection,the data is reconstructed to packets with the same length according tothe number of the idle channels (or the number of MIMOs), and thereconstructed packets are assigned to the respective wireless channels(or respective antennas of the MIMO) to be (simultaneously) transmitted(S232).

Next, it is confirmed for all the simultaneously transmitted packetswhether or not ACK packets are received within a predetermined timeafter the transmission (S204), and a packet for which the ACK packet isnot received within the predetermined time is subjected toretransmission processing (S205, S233 to S235). In the retransmissionprocessing, it is first searched by carrier sense if there is any idlewireless channel (S205). Next, the number of the idle channels (or thenumber of MIMOs) and the number of retransmission packets are compared(S233), and when the number of the idle channels (or the number ofMIMOs) is larger than the number of the retransmission packets, theretransmission packets are copied according to the number of surplusidle channels (or the number of surplus MIMOs) over the number of theretransmission packets, and the retransmission packets and a copy packetare assigned to the respective wireless channels (or the respectiveantennas of the MIMO) to be (simultaneously) retransmitted (S234).

On the other hand, when the number of the idle channels (or the numberof MIMOs) is equal to or smaller than the number of the retransmissionpackets, the retransmission packets are not copied but assigned to therespective wireless channels (or the respective antennas of the MIMO) tobe (simultaneously) retransmitted (S235). Thereafter, theabove-described retransmission processing is repeated until the ACKpackets are received for all the packets.

Also in this embodiment, when the number of the idle channels (or thenumber of MIMOs) is smaller than the number of the retransmissionpackets, the retransmission packets may be reconstructed according tothe number of the idle channels (or the number of MIMOs) (parenthesizednotes in the determination branches at S233 in FIG. 13, S236).

[Processing for Receiving Retransmission Packets and Copy Packet]

When the retransmission packets and the copy packet are assigned todifferent wireless channels at the time of the simultaneous transmissionof the retransmission packets and the copy packet, a frequency diversityeffect can be obtained. When the retransmission packets and the copypacket are assigned to the respective antennas of the MIMO, a spacediversity effect can be obtained. Meanwhile, when the retransmissionpackets and the copied packet are diversity-received, selectiondiversity shown in FIG. 14(1) or diversity combining shown in FIG. 14(2)can be used.

First, as a common receiving operation, reception and demodulation areexecuted in unit of each wireless channel in a case of frequencydiversity using multiple wireless channels, while in a case of spacediversity in which packets are assigned to respective antennas of MIMO,reception and demodulation are executed in unit of each antenna. In theselection diversity, it is confirmed whether or not the packetssubjected to reception processing include packets with the same sequencenumber, and one of the packets with the same sequence number is selectedand the other is discarded. Then, an arrival ACK packet Ackcorresponding to the sequence number of the selected packet istransmitted. On the other hand, in the diversity combining, signalcorrelation of packets subjected to the reception processing is foundand packets (the retransmission packet and the copied packet) having avalue exceeding a predetermined threshold value are combined to besubjected to combining processing. Then, an arrival ACK packet Ackcorresponding to a sequence number of the combined packet istransmitted.

Incidentally, the arrival ACK packet is transmitted via the wirelesschannel or the antenna used both for the retransmission packet and thecopied packet, or is transmitted via the wireless channel or the antennaused for one of the packets. A transmit-side STA of the retransmissionpacket confirms the sequence number of the transmitted packet torecognize the arrival of the corresponding retransmission packet, andthen finishes the retransmission processing.

Eleventh Embodiment

FIG. 15 shows a flowchart of an eleventh embodiment of the presentinvention. FIG. 16 shows an operation example of the eleventh embodimentof the present invention. It is assumed here that wireless channels #1,#2, #3 are prepared.

When data arrives in a transmission buffer, it is first searched bycarrier sense if there is any idle wireless channel (S301, S302). InFIG. 16, at a timing the data is generated t1, the wireless channel #3is busy, and the wireless channel #1 and the wireless channel #2 areretrieved as idle. Next, according to the number of the idle channelsand the number of transmission-standby data packets, packets aregenerated by, for example, any one of the methods shown in FIG. 49, sothat the packet time lengths in the respective wireless channels becomeequal, and the data packets are assigned to the respective wirelesschannels to be (simultaneously) transmitted (S303).

In the example shown in FIG. 16, which is a case where there are threedata frames to be transmitted while there are two idle channels, a dataframe 2 is divided into two (2 a, 2 b) by the method shown in FIG. 49(2)and they are combined with a data frame 1 and a data frame 3respectively, so that data packets (1+2 a), (2 b+3) are generated to beassigned to the respective wireless channels and are simultaneouslytransmitted.

Next, it is confirmed for all the simultaneously transmitted datapackets whether or not ACK packets are received within a predeterminedtime after the transmission (S304), and a data packet for which the ACKpacket is not received within the predetermined time is subjected toretransmission processing (S305 to S308). In the retransmissionprocessing, it is first searched by carrier sense if there is any idlewireless channel, and the number of the idle channels and the number ofretransmission packets are compared (S305). When the number of the idlechannels is equal to or larger than the number of the retransmissionpackets, idle channels to be utilized in the retransmission processingare selected and the retransmission packets are assigned to therespective selected idle channels to be (simultaneously) transmitted(S306).

On the other hand, when the number of the idle channels is smaller thanthe number of the retransmission packets, a retransmission packet to betransmitted first is selected, and as a transmission inhibition time(occupation time) to be written in this transmission packet, the totaltransmission time for this retransmission packet and the remainingretransmission packet is set (S307). Next, after the transmission of theselected retransmission packet is completed, the subsequentretransmission packet is continuously transmitted by using the relevantwireless channel (S308). Thereafter, the above-described retransmissionprocessing is repeated until the ACK packets are received for all thepackets.

FIG. 16 is a case where the ACK packets for the data packets (1+2 a), (2b+3) transmitted via the wireless channels #1, #2 are not received by anACK timeout t2, and the data packets (1+2 a), (2 b+3) are subjected tothe retransmission processing. Here, only the wireless channel #1 isidle at a retransmission processing start time t3, and thus while thenumber of the retransmission packets is 2, the number of the idlechannels is 1, which is smaller than the number of the retransmissionpackets, so that the retransmission packet (1+2 a) is first assigned tothe wireless channel #1 to be transmitted (FIG. 15: S307).

At this time, as the transmission inhibition time, the sum of thetransmission time for its own transmission and the transmission time forthe retransmission packet (2 b+c) is set in the retransmission packet(1+2 a). According to this retransmission packet (1+a), a NAV is set forthe wireless channel #1 until the transmission of the nextretransmission packet (2 b+c) is completed. Consequently, thetransmission to the wireless channel #1 from another STA is inhibited,so that the wireless channel #1 is in a state of being occupied by theown STA. Therefore, when the transmission of the retransmission packet(1+2 a) is completed, the retransmission packet (2 b+c) can becontinuously transmitted via the wireless channel #1 (FIG. 15: S308).

Here, the NAV (Network Allocation Vector) will be briefly explained. Asa carrier sense method, two kinds of methods are used: one of themethods is a physical carrier sense method of measuring received powerof a wireless channel with a RSSI (Received Signal Strength Indicator)or the like to detect whether or not another STA is using the wirelesschannel for transmitting a data packet; and the other method is avirtual carrier sense method of utilizing the occupation time of awireless channel used for transmission/reception of a data packet, theoccupation time being written in a header of the data packet, to therebysetting the wireless channel as busy only during the occupation time.

An STA has a timer called a NAV indicating the time taken for a wirelesschannel to become idle. When the NAV indicates 0, it signifies that thewireless channel is idle, and when the NAV does not indicate 0, itsignifies that the wireless channel is found busy by virtual carriersense. When a data packet transmitted from another wireless channel isreceived, the occupation time written in the header of the data packetis read, and when this value is larger than a current value of the NAV,this value is set in the NAV.

At this time, by setting the actual transmission time of the data packetas the occupation time to be written in the header of the data packet,the physical carrier sense with the RSSI and the virtual carrier senseby the NAV both indicate a busy state, so that the carrier senses by theaforesaid two methods serve substantially the same function. On theother hand, by writing in the header the occupation time that is longerthan the actual transmission time of the data packet, the wirelesschannel is found busy by the virtual carrier sense even at the timeafter the reception completion of the data packet, which brings about aneffect that the transmission using the wireless channel can beinhibited. The occupation time in this case can be said as thetransmission inhibition time, and hence, is referred to as the“transmission inhibition time” in the description of the presentinvention. An STA transmitting the data packet determines that thewireless channel is idle to execute the transmission only when thewireless channel is found idle by the two carrier senses.

Twelfth Embodiment

FIG. 17 and FIG. 18 show flowcharts of a twelfth embodiment of thepresent invention.

FIG. 17 shows processing in a transmit-side STA and FIG. 18 showsprocessing in a receive-side STA. FIG. 19 shows an operation example ofthe twelfth embodiment. It is assumed here that wireless channels #1,#2, #3 are prepared. This embodiment is characterized in that a NAV isset not from the transmit-side STA but from the receive-side STA.

In the transmit-side STA, when data arrives in a transmission buffer, itis first searched by carrier sense if there is any idle wireless channel(FIG. 17: S301, S302). Next, according to the number of the idlechannels and the number of transmission-standby data packets, datapackets are generated by, for example, any one of the methods shown inFIG. 49 so that the packet time lengths in the respective wirelesschannels become equal, and the data packets are assigned to therespective wireless channels to be (simultaneously) transmitted (FIG.12: S303).

Next, it is confirmed for all the simultaneously transmitted datapackets whether or not ACK packets are received within a predeterminedtime from the transmission (FIG. 17: S304), and a data packet for whichthe ACK packet is not received within the predetermined time issubjected to retransmission processing (FIG. 17: S305 to S308). In theretransmission processing, it is first searched by carrier sense ifthere is any idle wireless channel, and the number of the idle channelsand the number of retransmission packets are compared (FIG. 17: S305).When the number of the idle channels is equal to or larger than thenumber of the retransmission packets, idle channels to be utilized inthe retransmission processing are selected and the retransmissionpackets are assigned to the respective selected idle channels to be(simultaneously) transmitted (FIG. 17: S306). On the other hand, whenthe number of the idle channels is smaller than the number of theretransmission packets, a retransmission packet to be transmitted firstis selected, and when this retransmission packet is transmitted,information indicating the presence of the subsequent retransmissionpacket is appended thereto (FIG. 17: S311).

When receiving the data packet, the receive-side STA determines whetheror not the information indicating the presence of the subsequent datapacket (retransmission packet) is appended to this data packet (FIG. 18:S321, S322). When there is no subsequent data packet, a normal ACKpacket is transmitted in response (FIG. 18: S323). On the other hand,when there is any subsequent data packet, the transmission time for thesubsequent retransmission packet notified by the transmit-side STA isset as a transmission inhibition time to be written in the normal ACKpacket, and the ACK packet is transmitted in response (FIG. 18: S324).STAs receiving the ACK packet in which this transmission inhibition timeis written set the transmission inhibition time in the NAV of therelevant wireless channel to refrain from transmission.

When receiving, as a reply to the previously transmitted data packet,the ACK packet in which the transmission inhibition time is set, thetransmit-side STA sets the transmission inhibition time in the NAV as isdone in the other STAs, but ignores this to continuously transmit thesubsequent retransmission packet by using the relevant wireless channel(without carrier sense) (FIG. 17: S312, S313). Alternatively, it is alsopossible that the setting of the NAV itself is not performed in responseto the reception of the ACK packet in which the transmission inhibitiontime is set. Thereafter, the above-described retransmission processingis repeated until the ACK packets are received for all the packets.

FIG. 19 is a case where the ACK packets for data packets (1+2 a), (2b+3) transmitted via the wireless channels #1, #2 are not received by anACK timeout t2 and therefore, the data packets (1+2 a), (2 b+3) aresubjected to the retransmission processing. Here, while the number ofthe retransmission packets is 2, the number of the idle channels at aretransmission processing start time t3 is 1, which is smaller than thenumber of the retransmission packets, and therefore, the retransmissionpacket (1+2 a) is first assigned to the wireless channel #1 to betransmitted. At this time, the information indicating the presence ofthe subsequent retransmission packet is appended to the retransmissionpacket (1+2 a) (FIG. 17: S311).

Thereafter, according to the transmission inhibition time set in an ACKpacket for this retransmission packet (1+2 a), the NAV is set for thewireless channel #1 until the transmission of the next retransmissionpacket (2 b+c) is completed, so that the transmission using the wirelesschannel #1 is inhibited. However, an STA transmitting the retransmissionpacket (1+2 a) ignores the NAV that is set for the wireless channel #1according to the ACK packet, and continuously transmits the subsequentretransmission packet (2 b+3) by using the wireless channel #1 (FIG. 17:S312, S313). Consequently, it is possible to continuously transmit theretransmission packets (1+2 a), (2 b+2).

Thirteenth Embodiment

In the eleventh embodiment, the NAV is set from the transmit-side STAcontinuously transmitting a plurality of retransmission packets, and inthe twelfth embodiment, the NAV is set from the receive-side STA basedon the request from the transmit-side STA continuously transmitting aplurality of retransmission packets. Such NAV setting puts the wirelesschannel #1 into an occupied state, enabling continuous transmission ofthe plural retransmission packets. However, STAs involved in the NAVsetting are limited to STAs capable of receiving the firstretransmission packet from the transmit-side STA or limited to STAscapable of receiving the ACK packet from the receive-side STA. That is,they are limited to STAs being in the vicinity of the transmit-side STAor STAs in the vicinity of the receive-side STA. Therefore, in order towiden a range of STAs involved in this NAV setting, the eleventhembodiment and the twelfth embodiment are combined to be a thirteenthembodiment.

FIG. 20 shows a flowchart of the thirteenth embodiment of the presentinvention. FIG. 21 shows an operation example of the thirteenthembodiment of the present invention. It is assumed here that wirelesschannels #1, #2, #3 are prepared. Description of S301 to S304 which arethe same as those of the eleventh embodiment and the twelfth embodimentwill be omitted.

In retransmission processing, it is first searched by carrier sense ifthere is any idle wireless channel, and the number of the idle channelsand the number of retransmission packets are compared (S305). Here, whenthe number of the idle channels is smaller than the number of theretransmission packets, a retransmission packet to be transmitted firstis selected, and when this retransmission packet is transmitted, thetotal transmission time for this retransmission packet and the remainingretransmission packet is set as a transmission inhibition time(occupation time) to be written in this retransmission packet, andinformation indicating the presence of the subsequent retransmissionpacket is further appended (S314).

A function of a receive-side STA and a procedure for NAV setting by thisfunction are the same as those of the second embodiment, and each STAreceiving the ACK packet-sets the transmission inhibition time in a NAVfor a relevant wireless channel to refrain from transmission.Thereafter, the retransmission packet is continuously transmitted byusing the relevant wireless channel. Incidentally, it is also possibleto notify the presence of the subsequent retransmission packet to thereceive-side STA by the transmission inhibition time set in theretransmission packet. In this case, the receive-side STA transmits theACK packet in which the time obtained by subtracting the transmissiontime of the first retransmission packet from the notified transmissioninhibition time (the transmission time for the subsequent retransmissionpacket) is set as the transmission inhibition time.

FIG. 21 is a case where the ACK packets for data packets (1+2 a), (2b+3) transmitted via the wireless channels #1, #2 are not received by anACK timeout t2, and therefore, the data packets (1+2 a), (2 b+3) aresubjected to retransmission processing. Here, while the number of theretransmission packets is 2, the number of the idle channels at aretransmission processing start time t3 is 1, which is smaller than thenumber of the retransmission packets, and therefore, the retransmissionpacket (1+2 a) is first assigned to the wireless channel #1 to betransmitted. At this time, in the retransmission packet (1+2 a), the sumof the transmission time for itself and transmission time for theretransmission packet (2 b+c) is set as the transmission inhibition time(FIG. 20: S314).

Thereafter, according to the transmission inhibition time set in the ACKpacket for this retransmission packet (1+2 a), the NAV is set for thewireless channel #1 until the transmission of the next retransmissionpacket (2 b+c) is completed, so that the transmission using the wirelesschannel #1 is inhibited. However, an STA transmitting the retransmissionpacket (1+2 a) ignores the NAV that is set for the wireless channel #1according to the ACK packet, and continuously transmits the subsequentretransmission packet (2 b+3) by using the wireless channel #1 (FIG. 20:S312, S313). Consequently, the retransmission packets (1+2 a), (2 b+2)can be continuously transmitted.

Fourteenth Embodiment

FIG. 22 shows a flowchart of a fourteenth embodiment of the presentinvention. FIG. 23 shows an operation example of the fourteenthembodiment of the present invention. It is assumed here that wirelesschannels #1, #2, #3 are prepared. This embodiment is characterized inthat a control packet for setting a NAV is exchanged in advance when aplurality of retransmission packets are transmitted separately at aplurality of transmission timings.

When data arrives in a transmission buffer, it is first searched bycarrier sense if there is any idle wireless channel (S301, S302). Next,according to the number of the idle channels and the number oftransmission-standby data packets, data packets are generated by, forexample, any one of the methods shown in FIG. 49 so that the packet timelengths in the respective wireless channels are equal, and the datapackets are assigned to the respective wireless channels to be(simultaneously) transmitted (S303).

Next, it is confirmed for all the simultaneously transmitted datapackets whether or not ACK packets are received within a predeterminedtime from the transmission (S304), and a data packet for which the ACKpacket is not received within the predetermined time is subjected toretransmission processing (S305 to S333). In the retransmissionprocessing, it is first searched by carrier sense if there is any idlewireless channel, and the number of the idle channels and the number ofretransmission packets are compared (S305). When the number of the idlechannels is equal to or larger than the number of the retransmissionpackets, idle channels to be utilized for the retransmission processingare selected and the retransmission packets are assigned to therespective selected idle channels to be (simultaneously) transmitted(S306).

On the other hand, when the number of the idle channels is smaller thanthe number of the retransmission packets, the channel which is currentlyidle is used to transmit the control packet in which the transmissiontime for the plural retransmission packets is set as a transmissioninhibition time (S331). Thereafter, a receive-side STA sets thetransmission inhibition time in a reply packet for the control packet totransmit the reply packet. When receiving the reply packet, an STAtransmitting the control packet performs the same processing as that ofthe second and third embodiments, that is, it selects and transmits aretransmission packet to be transmitted first and further continuouslytransmits the subsequent retransmission packet by using the relevantwireless channel (S332, S333). Thereafter, the above-describedretransmission processing is repeated until the ACK packets are receivedfor all the packets. Incidentally, the processing for setting thetransmission inhibition time in the reply packet may be optional.

FIG. 23 is a case where the ACK packets for data packets (1+2 a), (2b+3) transmitted via the wireless channels #1, #2 are not received by anAck timeout t2, and therefore, the data packets (1+2 a), (2 b+3) aresubjected to the retransmission processing. Here, only the wirelesschannel #1 is idle at a retransmission processing start time t3, thatis, while the number of the retransmission packets is 2, the number ofthe idle channels is 1, which is smaller than the number of theretransmission packets, and therefore, the control packet for settingthe NAV is first transmitted by using the wireless channel #1 (FIG. 22:S331). The transmission time for all the retransmission packets (1+2 a),(2 b+c) is set in this control packet as the transmission inhibitiontime. Further, the same transmission inhibition time is also set in thereply packet for the control packet. According to the control packet andthe reply packet, the NAV is set for the wireless channel #1 until thetransmission of the retransmission packets (1+2 a), (2 b+c) iscompleted, so that the wireless channel #1 becomes in an occupied state.Consequently, when the transmission of the retransmission packet (1+2 a)is completed, the retransmission packet (2 b+c) can be continuouslytransmitted via the wireless channel #1 (FIG. 22: S333).

In the embodiments described hitherto, the acknowledgement of receptionby means of the ACK packet may be replaced by transmission of a NACKrequest packet from the transmit-side STA and response of a NACK packetfrom the receive-side STA.

Fifteenth Embodiment

An embodiment to be described below corresponds to a case where there isno change in the number of idle channels at the time of initialtransmission and at the time of retransmission processing (the aforesaidproblem 2 at the time of retransmission).

FIG. 24 shows a flowchart of a fifteenth embodiment of the presentinvention. FIG. 25 shows an operation example of the fifteenthembodiment. It is assumed here that wireless channels #1, #2, #3 areprepared, and the number 3 of simultaneously transmittable data packetsdoes not change at transmission timings t1, t2, t3 obtained by carriersense.

In a transmit-side STA, when a data frame arrives in a transmissionbuffer, data packets corresponding to the simultaneously transmittablenumber are generated from a data frame (S401, S402). At the transmissiontiming t1 shown in FIG. 25, data packets P1, P2, P3 are generated from adata frame F1. The data packets are equal in packet time length. Anynumber of data frames can be used for generating the data packets, andas shown in, for example, FIGS. 49(2), (3), three data packets may begenerated from two data frames. Next, all sequence numbers of the datapackets to be transmitted are obtained (S403). Note that P1 to P3 areassumed to correspond to the sequence numbers of the respective datapackets.

Next, the generated data packets P1 to P3 are simultaneously transmitted(S404). Thereafter, all the data packets transmission successes/failuresare confirmed by an ACK packet from a receive-side STA (S405, S406). Inthe example shown in FIG. 25, information on the ratio of the successfultransmissions to the total transmissions in the past for eachsimultaneously transmitted data packet is written in one ACK packet,which is transmitted by using one wireless channel (#1 here). Such anextension-type ACK packet utilizes the Group ACK protocol that has beenunder consideration in, for example, IEEE802.11TGe and so on.

By this ACK packet, a transmission success of the data packets P1, P3and a transmission failure of the data packet P2 are confirmed. Then, atthe next transmission timing t2 obtained by the carrier sense, only thenot-successfully-transmitted data packet (P2 here) out of the datapackets P1 to P3 transmitted latest is retransmitted (S406, S407).Further, when the ACK packet is not received even after a predeterminedtime from the simultaneous transmission of the data packets P1 to P3,all the data packet transmission failures are confirmed and the datapackets P1 to P3 are retransmitted (S405, S408). Next, all the sequencenumbers of the retransmitted data packets are obtained (S409).

Thereafter, based on an ACK packet from the receive-side STA,transmission successes/failures of all the simultaneously transmitteddata packets are confirmed (S405, S406). When a transmission success ofthe data packet P2 is confirmed by this ACK packet, this means that thetransmission successes of all the simultaneously transmitted datapackets P1 to P3 are confirmed, and the flow returns to Step S401, wheregeneration and transmission processing of subsequent data packets arestarted. In FIG. 25, data packets P4, P5, P6 are generated from a dataframe F2 and they are simultaneously transmitted at the transmissiontiming t3. Meanwhile, the receive-side STA restores the data frame F1when receiving all the data packets P1, P2, P3.

Sixteenth Embodiment

FIG. 26 shows a flowchart of a sixteenth embodiment of the presentinvention. FIG. 27 shows an operation example of the twenty-sixthembodiment.

This embodiment is characterized in that, in the fifteenth embodiment,after a transmit-side STA A transmits data packets to a receive-side STAB, the STA A transmits a NACK request packet to the STA B and receives aNACK packet transmitted from the STA B. This NACK request packetincludes information on the data packets transmitted from the STA A tothe STA B. The STA B does not transmit the NACK packet in response tothe NACK request packet when normally receiving the data packets, andwhen there is any data packet not normally received, it transmits theNACK packet including information on this data packet in response.Therefore, the STA A determines that the data packets previouslytransmitted were successfully transmitted when the NACK packet does notarrive from the STA B after the transmission of the NACK request packet.On the other hand, when the NACK packet is received, it is determinedthat the data packet written therein was not-successfully-transmitted.The other retransmission processing of data packets is the same as thatof the first embodiment.

When a data frame arrives in a transmission buffer, the transmit-sideSTA generates data packets from the data frame according to thesimultaneously transmittable number (S401, S402). At a transmissiontiming t1 shown in FIG. 27, data packets P1, P2, P3 are generated from adata frame F1. Next, all sequence numbers of the data packets to betransmitted are obtained (S403), and the data packets P1 to P3 aresimultaneously transmitted (S404). Next, the NACK request packet forrequesting reception successes/failures of the plural data packets thathave been simultaneously transmitted is transmitted to the addresses ofthe data packets (S411).

Thereafter, transmission successes/failures of all the data packets areconfirmed by the NACK packet from the receive-side STA (S412). Note thatthe example shown in FIG. 27 shows a case where the NACK request packetand the corresponding NACK packet are transmitted/received by using onewireless channel (#1 here), and the information on the data packets inthe wireless channels whose transmission failed is collectively writtenin the NACK packet. Such an extended-type NACK request packet and NACKpacket utilize the Group ACK protocol having been under considerationin, for example, IEEE802.11TGe and so on.

A failure of transmission of the data packet P2 is confirmed by thisNACK packet. Then, at a next transition timing t2 obtained by carriersense, only the not-successfully-transmitted data packet (P2 here) isretransmitted (S412, S407). Next, all the sequence numbers of theretransmitted data packets are obtained (S408) and the NACK requestpacket is transmitted to the addresses of the data packets (S411).

Thereafter, based on the NACK packet from the receive-side STA,transmission successes/failures of all the data packets are confirmed(S412), but in the example shown in FIG. 27, the retransmission successof the data packet P2 is confirmed according to non-input of the NACKpacket from the receive-side STA. Consequently, transmission successesof all the simultaneously transmitted data packets P1 to P3 areconfirmed, and the flow returns to Step S401, where the generation andtransmission processing of subsequent data packets are started. In FIG.27, data packets P4, P5, P6 are generated from a data frame F2 and aresimultaneously transmitted at a transmission timing t3. Meanwhile, thereceive-side STA restores the data frame F1 when receiving all the datapackets P1, P2, P3.

Seventeenth Embodiment

FIG. 28 shows a flowchart of a seventeenth embodiment of the presentinvention.

FIG. 29 shows an example 1 of generating/transmitting/retransmitting aplurality of data packets in the seventeenth embodiment. FIG. 30 showsan operation example of the example 1 ofgenerating/transmitting/retransmitting the plural data packets in theseventeenth embodiment. This embodiment is characterized in that aplurality of data packets equal in the transmission time are generatedin unit of the simultaneously transmittable number from data framesaccumulated in a transmission buffer, and the data packets arecontinuously simultaneously transmitted in unit of the simultaneouslytransmittable number.

When a data frame arrives in a transmission buffer, a transmit-side STAgenerates data packets from the data frame according to thesimultaneously transmittable number (S401, S402). Here, as shown in FIG.29, each of two data frames F1, F2 is divided, so that three datapackets P1, P2, P3 and three data packets P4, P5, P6 whose transmissiontime TA are equal are generated. Next, all sequence numbers of the datapackets to be transmitted are obtained (S403), the data packets P1 to P3and the data packets P4 to P6 are continuously simultaneouslytransmitted (S421), and an ACK request packet is transmitted toaddresses of the data packets (S422). Note that the continuoustransmission of the data packets can be conducted through theutilization of the Group ACK protocol that has been under considerationin, for example, IEEE802.11TGe and so on.

Thereafter, based on an ACK packet from the receive-side STA, of all thedata packet transmission successes/failures are confirmed (S423, S424).The example shown in FIG. 30 shows a case where the ACK request packetand the corresponding ACK packet are transmitted/received by using onewireless channel (#1 here), and information on the ratio of thesuccessful data packet transmissions to the total transmissions in thepast is written in this ACK packet. Such an extended-type ACK requestpacket and ACK packet utilize the Group ACK protocol that has been underconsideration in, for example, IEEE802.11TGe and so on.

By this ACK packet, transmission successes of the data packets P1 P3, P4and transmission failures of the data packets P2, P5, P6 are confirmed.Then, at a next transmission timing t2 obtained by carrier sense,retransmission processing of only the not-successfully-transmitted datapackets (P2, P5, P6 here) out of the data packets P1 to P3 transmittedlatest is started (S425 to S431).

First, it is discriminated whether or not thenot-successfully-transmitted data packets are all equal in thetransmission time, and when they are not equal, a dummy packet is addedto a data packet requiring a shorter time for transmission so that theplural data packets to be simultaneously retransmitted require the sametime for transmission (S425, S426). Incidentally, in this embodiment,since the data packets P1 to P3 and the data packets P4 to P6 generatedfrom the data frames F1, F2 are all equal in the transmission time, thenot-successfully-transmitted data packets P2, P5, P6 are also equal inthe transmission time, and therefore, the dummy bit need not be added atthe time of simultaneous retransmission.

Next, the number Xng of the not-successfully-transmitted data packetsand the simultaneously transmittable number K·L (K: the number of MIMOs,L: the number of idle wireless channels) are compared, and it isdetermined whether or not continuous retransmission is necessary (S427).In a case of Xng≦K·L, one-time retransmission (in a case of Xng=1) orsimultaneously retransmission (in a case of Xng>1) is executed (S428),while in a case of Xng>K·L, continuous simultaneously retransmission isexecuted (S429). In the examples shown in FIG. 29 and FIG. 30, thesimultaneously transmittable number is 3 and the number of thenot-successfully-transmitted data packets is also 3, so that the datapackets are simultaneously retransmitted at one processing.

On the other hand, when the ACK packet is not received even after apredetermined time from the continuous/simultaneous transmission of thedata packets P1 to P6, all the data packets transmission failures areconfirmed, and continuous/simultaneously retransmission of the datapackets P1 to P6 is executed (S423, S430). Next, all the sequencenumbers of the retransmitted data packets are obtained (S431), and theACK request packet is transmitted to the addresses of the data packets(S422).

Thereafter, based the ACK packet from the receive-side STA, transmissionsuccesses/failures of all the simultaneously transmitted data packetsare confirmed (S423, S424). When transmission successes of the datapackets P2, P5, P6 are confirmed by this ACK packet, this means thattransmission successes of the data packets P1 to P3 and the data packetsP4 to P6 continuously simultaneously transmitted are confirmed, so thatthe flow returns to Step S401, where the generation and transmissionprocessing of subsequent data packets are started. In FIG. 30, datapackets P7, P8, P9 are generated from a data frame F3 and aresimultaneously transmitted at a transmission timing t3. Meanwhile, thereceive-side STA restores the data frames F1, F2 when receiving all thedata packets P1 to P3 and data packets P4 to P6.

In this embodiment, there is some case where the data frame F2 is firstrestored and the data frame F1 is restored later, but since thetransmission and retransmission processing are executed in unit of thedata packets P1 to P3 and in unit of the data packets P4 to P6 that aregenerated at one time, there is no such a case where the data packets P7and the subsequent data packets generated at a next occasion aretransmitted/received first and the data frame F3 is first restored. Thatis, the restoration order of the data frames is not greatly changed, andthe reception buffer size can be determined according to the number ofdata frames or the number of data packets to be handled at one time, sothat a relatively small reception buffer is usable.

FIG. 31 shows an example 2 of generating/transmitting/retransmitting aplurality of data packets in the seventeenth embodiment. FIG. 32 showsan operation example of the example 2 ofgenerating/transmitting/retransmitting the plural data packets in theseventeenth embodiment.

Here, as shown in FIG. 31, a data frame F1 is divided so that three datapackets P1, P2, P3 requiring the same time TA for transmission aregenerated, and a data frame F2 is also divided so that three datapackets P4, P5, P6 requiring the same time TB for transmission aregenerated. However, since the data frames F1, F2 are different in framesize, the transmission times TA and TB of the data packets generated inunit of the simultaneously transmittable number are different (TA>TB).That is, this is a case where, even though the plural data packetsrequiring the same time for transmission are generated in unit of thesimultaneously transmittable number, the transmission time for theplural data packets continuously simultaneously transmitted is differentdepending on each unit of the simultaneously transmittable number.

When the transmission time for the data packets P1 to P3 generated atone time and the transmission time for the data packets P4 to P6generated at one time are thus different, the data packet P2 and thedata packets P5, P6 which were not-successfully-transmitted aredifferent in the transmission time, and therefore, it is necessary toadd a dummy bit at the time of the simultaneously retransmission to thedata packets P5, P6 that require a shorter time for transmission,thereby making the data packets P5, P6 and the data packet P2 equal inthe transmission time (S425, S426).

Eighteenth Embodiment

FIG. 33 shows a flowchart of an eighteenth embodiment of the presentinvention. FIG. 34 shows an operation example of the eighteenthembodiment.

This embodiment is characterized in that, in the seventeenth embodiment,after data packets are transmitted from a transmit-side STA A to areceive-side STA B, the STA A transmits a NACK request packet to the STAB to receive a NACK packet transmitted from the STA B. This NACK requestpacket includes information on the data packets transmitted from the STAA to the STA B. The STA B does not transmit the NACK packet in responseto the NACK request packet when normally receiving the data packets, andwhen there is any one of the data packets not normally received, ittransmits the NACK packet including the information on this data packetin response. Therefore, when the NACK packet does not arrive from theSTA B after the transmission of the NACK request packet, the STA Adetermines that the previously transmitted data packets weresuccessfully transmitted. On the other hand, when receiving the NACKpacket, it determines that the transmission of the data packet writtentherein failed. The other retransmission processing of data packets isthe same as that of the seventeenth embodiment.

Note that the operation example shown in FIG. 34 corresponds to theexample 1 of generating/transmitting/retransmitting a plurality of datapackets shown in FIG. 29 and FIG. 30, but this operation example alsoapplies to the examples 2 of generating/transmitting/retransmitting aplurality of data packets shown in FIG. 31 and FIG. 32.

Nineteenth Embodiment, Twentieth Embodiment

FIG. 35 shows an operating example of a nineteenth embodiment of thepresent invention. FIG. 36 shows an operation example of a twentiethembodiment of the present invention.

The fifteenth embodiment to the eighteenth embodiment show situationswhere out of the data packets P1 to P3 generated from the data frame F1,the data packets P1, P3 are successfully transmitted and the data packetP2 is retransmitted due to the transmission failure. In this case, thedata frame F1 is restored after the data packets P1, P3 arriving firstand the data packet P2 arriving later are rearranged in the properorder.

In the nineteenth embodiment, in order to simplify the data framerestoration processing involving the order rearrangement on thereceive-side STA in the fifteenth embodiment and the sixteenthembodiment, the processing at Step S407 in FIG. 24 and FIG. 26 ischanged such that the data packet with a smallest sequence number amongthe not-successfully-transmitted data packets and subsequent datapackets (P2, P3 here) are retransmitted. This can facilitate therestoration of the data frame F1.

In the twentieth embodiment, in order to simplify the data framerestoration processing involving the rearrangement on the receive-sideSTA in the seventeenth embodiment and the eighteenth embodiment, theprocessing at Step S428 and the processing at S429 in FIG. 28 and FIG.33 are changed such that the data packet with a smallest sequence numberamong the not-successfully-transmitted data packets and subsequent datapackets (P2, P3, P4, P5, P6 here) are retransmitted. Accordingly, theoperations of making the data packets equal in the transmission time atSteps S425, S426 are not executed.

Specifically, when the transmission time is different between the datapackets P1 to P3 and the data packets P4 to P6 as shown in FIG. 31, thetransmission time is also different between the data packets P2 to P3and the data packets P4˜P6 which are to be retransmitted. Therefore,instead of executing the operation of making the data packets equal inthe transmission time, the data packets P2 to P3 and the data packets P4to P6 are continuously simultaneously transmitted. This can facilitaterestoring the data frames F1, F2.

[Structure of Data Packet]

FIG. 37 shows a structure of a data packet. The data packet is composedof packet type information, identification information (ID) of adestination STA, identification information (ID) of a transmit-side STA,a sequence number assigned to discriminate each of a plurality ofsimultaneously transmitted data packets, the smallest sequence numberamong the sequence numbers of the plural data packets simultaneouslytransmitted, a data portion, and a FCS field.

[Structures of Extended-Type ACK Packet]

FIG. 38 show structures of extended-type ACK packets. The extended-typeACK packet is intended for collectively transmitting information on theratio of the successful transmissions to the total transmissions in thepast for each simultaneously transmitted data packet as shown in FIG. 25and so on, and this applies also to the extension-type NACK packet shownin FIG. 27 and so on.

The ACK packet in an example (1) is composed of packet identificationinformation, identification information (ID) of a destination STA (datapacket transmit-side STA), sequence numbers of successfully receiveddata packets, and a FCS field. In the ACK packet in an example (2),instead of writing the sequence numbers of the successfully receiveddata packets, a bit map is prepared, and bits corresponding to thesequence numbers of the data packets are given values according toreception successes/failures, thereby expressing reception successes ofthe packets. Note that the head bit of the bit map corresponds to thedata packet with the smallest sequence number among the plural datapackets simultaneously transmitted.

[Structures of Extended-Type ACK Request Packet]

FIG. 39 show structures of extension-type ACK request packets. Theextension-type ACK request packet is intended for collectivelytransmitting information requesting reception successes/failures of aplurality of data packets which are simultaneously transmitted as shownin FIG. 30 and so on, and this also applies to the extension-type NACKrequest packet shown in FIG. 27 and so on.

The ACK request packet in an example (1) is composed of packetclassification information, identification information (ID) of adestination STA (data packet destination STA), identificationinformation (ID) of a transmit-side STA (data packet transmit-side STA),sequence numbers of all simultaneously transmitted data packets, and aFCS field. In the ACK request packet in an example (2), instead ofwriting the sequence numbers of all the simultaneously transmitted datapackets, the smallest sequence number among the sequence numbers of thesimultaneously transmitted data packets and the number of thesimultaneously transmitted data packets are written.

Twenty-First Embodiment

FIG. 40 shows a flowchart of a twenty-first embodiment of the presentinvention. FIG. 41 shows an operation example of the twenty-firstembodiment of the present invention. It is assumed here that wirelesschannels #1, #2, #3 are prepared and the number p (=3) of simultaneouslytransmittable data packets does not change at transmission timings t1,t2, t3, t4 obtained by carrier sense. Further, when data packets aregenerated from a data frame, a packet-set consisting of p pieces of datapackets or less is defined as a unit, the number of packet-setsgenerated at one time is defined as M, and a sequence number N isassigned to each packet-set, in addition to a sequence number of eachdata packet.

When data frames arrive in a transmission buffer, a transmit-side STAgenerates M packet-sets each consisting of p pieces of data packets orless (S501 to S503). At the transmission timing t1 shown in FIG. 41,data packets P1, P2, P3 are generated as a first packet-set from dataframes F1, F2 and data packets P4, P5, P6 are generated as a secondpacket-set from data frames F3, F4, which means that totally twopacket-sets (M=2) are generated. The data packets are equal in packettime length. Note that it is only necessary that the data packets aregenerated in unit of a packet-set, and the number of corresponding dataframes may be any.

At the transmission timing t1, the first (N=1) packet-set (data packetsP1 to P3) is simultaneously transmitted (S504). Thereafter, transmissionsuccesses/failures of all the data packets in the first packet-set areconfirmed by an ACK packet from a receive-side STA (S505, S506). In theexample shown in FIG. 41, the successful data packet transmissions tothe total transmissions in the past is written in one ACK packet, whichis transmitted by return using one wireless channel (#1 here).

When a failure of transmission of the data packet P2 is confirmed bythis ACK packet, the number h (1 here) of untransmitted data packets inthe first (Nth) packet-set is obtained (S506, S510, S511). Note that the“untransmitted data packet” means both a data packet whose transmissionhas not been completed due to a transmission failure and atransmission-standby data packet. The meaning of a flag a at S510 willbe described later. Then, when the number M of the packet-setssimultaneously generated is 2 or more, it is determined whether or notthere is any untransmitted data packet in and after the second (N+1th)packet-set (S512, S513), and when there is any untransmitted datapacket, h pieces of the untransmitted data packets in the firstpacket-set (not-successfully-transmitted data packet P2) and (p−h)pieces of untransmitted data packets or less (P4, P5) selected from thesecond packet-set are simultaneously transmitted at the nexttransmission timing t2 (S514). Note that the data packet P2 and the datapackets P4, P5 are generated at the same generation timing and thus havethe same packet time length, so that no problem occurs even when theyare simultaneously transmitted.

Thereafter, transmission successes/failures of all the data packets inthe first (Nth) packet-set are confirmed by an ACK packet from areceive-side STA (S516, S506). If a transmission success of the datapacket P2 is confirmed by this ACK packet, this means that atransmission success of the first (Nth) packet-set (P1 to P3) isconfirmed. Then, the sequence number N of the packet-set is incrementeduntil transmission successes of all the packet-sets are confirmed (S506,S507, S508), and the flow shifts to the processing of the second (N+1th)packet-set. The receive-side STA restores the data frames F1, F2 whenthe data packets P1, P2, P3 are all received.

Here, regarding the first (Nth) packet-set whose data packets are allsuccessfully transmitted, it is determined by using the flag a whetherthey are successfully transmitted simultaneously or are successfullytransmitted by the retransmission and the simultaneous transmission withdata packets in another packet-set (S509, S510). Specifically, when thedata packets in the first (Nth) packet-set are successfully transmittedsimultaneously, a=0 is maintained, so that the simultaneous transmissionof the second (N+1th) packet-set is immediately started (S509, S504). Onthe other hand, when part of the data packets in the first (Nth)packet-set is to be retransmitted, a=1 is set at S510, and the part ofthe data packets is simultaneously transmitted with untransmitted datapackets in and after the second (N+1th) packet-set. Thereafter, when allthe data packets in the first (Nth) packet-set are successfullytransmitted, part or all of the data packets in the second (N+1th)packet-set have been already transmitted. Therefore, the flow returnsfrom S509 to S506, where transmission successes/failures of all the datapackets in the second (N+1th) packet-set are determined, and if there isstill any untransmitted data packet, the same processing is repeatedwhile data packets in and after the third (N+2th) packet-set arecombined.

In the example shown in FIG. 41, after the data packet P2 and the datapackets P4, P5 are simultaneously transmitted at the transmission timingt2, the transmission of the first packet-set is completed because thedata packet P2 is successfully transmitted. On the other hand, since thedata packet P4 is not successfully transmitted, the flow shifts fromS506 to S511 for the second packet-set, and the number h (2 here) of theuntransmitted data packets in the second packet-set is calculated.Further, since the number M of the generated packet-sets is 2 and thusthere is no third and subsequent packet-sets, the two untransmitted datapackets (P4, P6) in the second packet-set are selected to besimultaneously transmitted at the next transmission timing t3 (S513,S515). Note that, when the number of packet-sets simultaneouslygenerated is 1 (M=1), the processing flows from S512 to S515. Further,at the transmission timing t3, though data frames F5, F6, F7 havearrived in the transmission buffer, data packets are not generated untilthe transmission of the two packet-sets first generated is completed.

Thereafter, when transmission successes of all the data packets in thesecond packet-set are confirmed by an ACK packet from the receive-sideSTA, transmission successes of all the packet-sets first generated areconfirmed (N=M), and therefore, the flow returns from S507 to S501.Consequently, at the transmission timing t4, data packets P1, P2, P3 arenewly generated as one (M=1) packet-set from the data frames F5, F6, F7.Note that the data packets P1 to P6 generated at the transmission timingt1 and the data packets P1 to P3 generated at the transmission timing t4are independent from each other and generally have different packet timelengths.

Further, when the ACK packet cannot be received in the processing atS505 and S516, all the data packets previously transmitted are to beretransmitted, and therefore, the flow returns to the processing at andafter S504 or at and after S512 respectively.

Twenty-Second Embodiment

FIG. 42 shows a flowchart of a twenty-second embodiment of the presentinvention. FIG. 43 shows an operation example of the twenty-secondembodiment of the present invention.

This embodiment is characterized in that, after data packets aretransmitted from a transmit-side STA A to a receive-side STA B, the STAA transmits a NACK request packet to the STA B and receives a NACKpacket transmitted from the STA B. When normally receiving the datapackets, the STA B does not transmit the NACK packet in response to theNACK request packet, and when not normally receiving the data packets,it transmits the NACK packet to that effect in response. Therefore, theSTA A determines that the data packets previously transmitted have beensuccessfully transmitted when the NACK packet does not arrive from theSTA B after the transmission of the NACK request packet. On the otherhand, when receiving the NACK packet, it determines that the data packetwritten therein was not successfully transmitted. The otherretransmission processing of data packets is the same as that of thetwenty-first embodiment.

When data frames arrive in a transmission buffer, the transmit-side STAgenerates M packet-sets each consisting of p pieces of data packets orless (S501 to S503). At a transmission timing t1 shown in FIG. 43, datapackets P1, P2, P3 are generated as a first packet-set from data framesF1, F2, and data packets P4, P5, P6 are generated as a second packet-setfrom data frames F3, F4, which means totally two (M=2) packet-sets aregenerated.

At the transmission timing t1, the first (N=1) packet-set (the datapackets P1 to P3) is simultaneously transmitted (S504) and the NACKrequest packet is transmitted (S521). Thereafter, a transmissionsuccess/failure of the first packet-set is confirmed by the NACK packetNACK from the receive-side STA (S522). The example shown in FIG. 43shows a case where one wireless channel (#1 here) is used fortransmission/reception of the NACK request packet and the correspondingNACK packet NACK, and information on a not-successfully-transmitted datapacket is written in the NACK packet NACK.

When a failure of transmission of the data packet P2 is confirmed by theNACK packet NACK, the number h (1 here) of the untransmitted datapackets in the first (Nth) packet-set is obtained (S511). Then, when thenumber M of the packet-sets simultaneously generated is 2 or more, it isdetermined whether or not there is any untransmitted data packet in andafter the second (N+1th) packet-set (S512, S513), and if there is anyuntransmitted data packet, the one untransmitted data packet in thefirst packet-set (the not-successfully-transmitted data packet P2) and(p−h) pieces of untransmitted data packets or less (P4, P5) selectedfrom the second packet-set are simultaneously transmitted at a nexttransmission timing t2 (S514), and the NACK request packet istransmitted (S521).

Here, part of the data packets in the first (Nth) packet-set isretransmitted, and part or all of the untransmitted data packets in andafter the second (N+1th) packet-set are simultaneously transmittedtogether. When the NACK packet NACK is not received at S522, thisindicates that all of these data packets are successfully transmittedand therefore, a transmission success of the first (Nth) packet-set (P1to P3) is confirmed. Meanwhile, as for the second (N+1th) packet-set andsubsequent packet-set, the sequence number N of the packet-set isincremented until transmission successes of all the packet-sets areconfirmed (S522, S507, S508, S523). At S523, transmissionsuccesses/failures of all the data packets in the second (N+1th)packet-set is determined, and if there is still any untransmitted datapacket, the same processing is repeated while data packets in and afterthe third (N+2nd) packet-set are combined.

In the example shown in FIG. 43, after the simultaneous transmission ofthe data packet P2 and the data packets P4, P5 at the transmissiontiming t2, the transmission of the first packet-set is completed sincethe data packet P2 is successfully transmitted. Meanwhile, since thedata packet P4 is not successfully transmitted, the flow for the secondpacket-set shifts from S523 to S511, where the number h (2 here) of theuntransmitted data packets in the second packet-set is calculated.Further, since the number M of the generated packet-sets is 2 and thereis no third or subsequent packet-set, the two untransmitted data packets(P4, P6) in the second packet-set is selected to be simultaneouslytransmitted at a next transmission timing t3 (S513, S515). When thenumber of packet-sets simultaneously generated is 1 (M=1), theprocessing shifts from S512 to S515. Further, at the transmission timingt3, though data frames F5, F6, F7 have arrived in the transmissionbuffer, data packets are not generated until the transmission of the twopacket-sets first generated is completed.

Thereafter, when transmission successes of all the data packets in thesecond packet-set are confirmed according to non-input of the NACKpacket NACK from the receive-side STA, transmission successes of all thepacket-sets first generated are confirmed (N=M), and therefore, the flowreturns from S507 to S501. Consequently, at a transmission timing t4,data packets P1, P2, P3 are newly generated as one (M=1) packet-set fromthe data frames F5, F6, F7.

Twenty-Third Embodiment

A twenty-third embodiment is structured such that at Step S503 wherepacket-sets are generated from data frames in the twenty-firstembodiment and the twenty-second embodiment, an upper limit value is setfor the number M of packet-sets simultaneously generatable, and asurplus packet-set over the upper limit value is not generated. Then, adata frame not used for generating the packet-set is kept for a nextpacket-set generation.

Further, at Step S503 where packet-sets are generated from data framesin the twenty-first embodiment and the twenty-second embodiment, whenthe number F of data frames used for generating M packet-sets exceeds anupper limit value, the packet-set generation from a surplus data frameover the upper limit value is suspended. Then, a data frame not used forgenerating the packet-set is kept for a next packet-set generation.

Twenty-Fourth Embodiment

FIG. 44 shows a flowchart of a twenty-fourth embodiment of the presentinvention. FIG. 45 shows an operation example of the twenty-fourthembodiment of the present invention. It is assumed here that wirelesschannels #1, #2, #3 are prepared and the number p (=3) of simultaneouslytransmittable data packets does not change at transmission timings t1,t2, t3, t4, t5 obtained by carrier sense. Further, D pieces (D1 pieces,D2 pieces, . . . ) of data packets generated from data frames at onetime are defined as a packet-group, and the cumulative number of datapackets constituting the packet-group is defined as R. However, thecumulative number R in this embodiment may be any and is not directlyinvolved in the control. Further, sequence numbers are assigned to thedata packets constituting the packet-group in the order of generation,and they are subjected to transmission processing in the order ofgeneration.

When data frames arrive in a transmission buffer, a transmit-side STAgenerates data packets each of which requires a time T for transmission,and D1 pieces of the generated data packets are defined as apacket-group (S531 to S533). At the transmission timing t1 shown in FIG.45, data packets P1, P2, P3 are generated from data frames F1, F2 anddata packets P4, P5, P6 are generated from data frames F3, F4, whichmeans that a group of totally 6 (R=6) data packets are generated. Thetransmission time for each of the data packets is T. Note that thenumber of data frames used for generating the packet-group may be any.

At the transmission timing t1, the maximum of p pieces of the datapackets (P1 to P3) out of the packet-group are simultaneouslytransmitted in the order of generation (S534). Thereafter, the datapacket transmission successes/failures are confirmed by an ACK packetfrom a receive-side STA (S535, S536). In the example shown in FIG. 45,information on the ratio of the successful simultaneous data packettransmissions to the total transmissions in the past is written in oneACK packet, which is transmitted by return using one wireless channel(#1 here).

When a failure of transmission of the data packet P2 is confirmed bythis ACK packet, the total number w (4 here) of the untransmitted datapackets which were not successfully transmitted and the remaininguntransmitted data packets in the packet-group is obtained (S536, S537).On the other hand, if there is no transmission failure, only the numberw of the remaining untransmitted data packets in the packet-group isobtained (S536, S538). This number w and the simultaneouslytransmittable number p are compared, and if w≧p, the maximum of p piecesof the untransmitted data packets out of the packet-group aresimultaneously transmitted in the order of generation (S539, S534). Inthe example shown in FIG. 45, the not-successfully-transmitted datapacket P2 and the untransmitted data packets P4, P5 are simultaneouslytransmitted at the next transmission timing t2.

Thereafter, the data packet transmission successes/failures areconfirmed by an ACK packet from the receive-side STA (S535, S536). Here,when the number w of the untransmitted data packets in the packet-groupbecomes smaller than the simultaneously transmittable number p (S537,S538, S539), some wireless channel usable for simultaneous transmissionbecomes idle, and therefore, if not w=0, new data packets are generated(S540, S541, S542). Specifically, it is determined whether or not thetransmission buffer has any data frame (S541), and if there is any dataframe therein, data packets each requiring the time T for transmissionsimilarly to those generated first are generated, D2 pieces of thegenerated data packets are added to the packet-group (S542), and themaximum of p pieces of the data packets are simultaneously transmittedin the order of generation (S534). At this time, the cumulative number Rin the packet-group becomes D1+D2. Further, when there is no data framein the transmission buffer, the maximum of p pieces (w pieces) of datapackets are simultaneously transmitted in the order of generation (S541,S534). On the other hand, when the number w of the untransmitted datapackets in the packet-group is 0, the flow returns from S540 to S531,where data packets are newly generated from a data frame.

In the example shown in FIG. 45, the transmission of the data packet P4out of the data packets P2, P4, P5 transmitted at the transmissiontiming t2 fails, so that the number w of the untransmitted data packetsbecomes 2 (w<p), namely, the data packets P4, P6. Meanwhile, whenreceiving all the data packets P1 to P3, the receive-side STA restoresthe data frames F1, F2. At the next transmission timing t3, data packetsP7, P8, P9 each requiring the time T for transmission are generated fromdata frames F5, F6 and they are added to the packet-group, so that thecumulative number R becomes 9.

Further, when a failure of transmission of the data packet P6 isconfirmed by an ACK packet from the receive-side STA after thesimultaneous transmission of the data packets P4, P6 and the data packetP7 at the transmission timing t3, the number w of the untransmitted datapackets becomes 3, namely, the data packets P6, P8, P9. The data packetP6 and the data packets P8, P9 are simultaneously transmitted at thenext transmission timing t4, and when transmission successes thereof areconfirmed and there remains no untransmitted data packet in thepacket-group (w=0), the flow returns to the initial state (S531).Meanwhile, the receive-side STA restores the data frames F3, F4 from thedata packets P4 to P6 and restores the data frames F5, F6 from the datapackets P7 to P9. Then, at the transmission timing t5, data packets P1,P2, P3 each requiring the time T for transmission are newly generatedfrom data frames F7, F8, F9. Note that the data packets P1 to P6generated at the transmission timing t1 and the data packets P1 to P3generated at the transmission timing t5 are independent from each otherand are generally different in the transmission time T.

Further, when the ACK packet cannot be received in the processing atS535, all the data packets previously transmitted are to beretransmitted, so that the flow returns to the processing at and afterS534.

Twenty-Fifth Embodiment

FIG. 46 shows a flowchart of a twenty-fifth embodiment of the presentinvention. FIG. 47 shows an operation example of the twenty-fifthembodiment of the present invention. This embodiment is characterized inthat an upper limit value Rover is set for the cumulative number R inthe packet-group in the twenty-fourth embodiment. This is done inconsideration of the fact that if, for example, prior to thetransmission success of the data packet P6, the data packets P7 to P9generated thereafter are successfully transmitted at the transmissiontimings t3, t4 in FIG. 45 showing the twenty-fourth embodiment, therearises a problem that the restoration order of the data frames isreversed. The unlimited cumulative number R in the packet-group maypossibly cause frequent occurrence of such a problem.

S531 to S542 in the flowchart of the twenty-fifth embodiment shown inFIG. 46 are the same as those of the twenty-fifth embodiment shown inFIG. 44. In this embodiment, when the number w of untransmitted datapackets in a packet-group becomes smaller than the simultaneouslytransmittable number p (S539, S540), the cumulative number R in thepacket-group and the upper limit value Rover are compared (S551), and ifR≧Rover, data packets are not generated from a next data frame (the flowdoes not go to S541), but the control is performed so that the flowreturns to S534, where all the data packets in the current packet-groupare transmitted.

Further, when the number w of the untransmitted data packets in thepacket-group becomes 0 (S539, S540), the cumulative number R in thepacket-group and the upper limit value Rover are compared (S552), and ifR≧Rover, the flow returns to S531 in order to newly generate datapackets from data frames. On the other hand, if R<Rover, it isdetermined whether or not there is any data frame in a transmissionbuffer (S553), and if there is any data frame, the current cumulativenumber R in the packet-group is not reset but the flow goes to S542,S534 in order to newly generate data packets from the data frames.Further, if there is no data frame, the flow returns to S531 in order tonewly generate data packets from data frames.

In the example shown in FIG. 47, 6 is set as the upper limit value Roverof the cumulative number R in the packet-group, so that at an instantwhen data packets P1 to P6 are generated at a transmission timing t1,R≧Rover holds. A difference from the twenty-third embodiment shown inFIG. 45 lies in that data packets are not generated when the number w ofthe untransmitted data packets in the packet-group becomes 2 (<p) at atransmission timing t3 even if data frames F5, F6 are present in thetransmission buffer. Consequently, the transmission completion of thedata packets P1 to P6 is given priority, so that the data packets P4, P6are simultaneously transmitted at the transmission timing t3, the datapacket P6 is transmitted at a transmission timing t4 due to a failure oftransmission of the data packet P6, and after a transmission successthereof, data packets P1, P2, P3 are generated from new data frames F5,F6, F7 at a transmission timing 5.

Twenty-Sixth Embodiment

A twenty-sixth embodiment is structured such that in the twenty-fifthembodiment, instead of the cumulative number R of data packetsconstituting the packet-group, the number F of accumulated data framesused for generating the packet-group is used. Similarly to the casewhere the cumulative number R of data packets is limited, limiting thecumulative number F of data frames makes it possible to avoid theproblem of the reversed restoration order of data frames in the courseof the retransmission processing when data packets are generated morethan necessary.

Twenty-Seventh Embodiment

A twenty-seventh embodiment is structured such that in the twenty-fourthto twenty-fifth embodiments, an STA A transmits a NACK request packet toan STA B and receives a NACK packet transmitted from the STA B, as inthe twenty-second embodiment. In this case, the processing at S535 andthe processing at S536 are transmission of the NACK request packet andreception of the NACK packet, and when the NACK packet is received, thetotal number w of untransmitted data packets failing in transmission andremaining untransmitted data packets in the packet-group is obtained atS537, whereas, when the NACK packet is not received, the number w of theremaining untransmitted data packets in the packet-group is obtained atS538. The other is the same as that of the twenty-fourth embodiment andthe twenty-fifth embodiment.

Twenty-Eighth Embodiment

A twenty-eighth embodiment is structured such that in the twenty-firstto twenty-second embodiments, instead of Step S511 of obtaining thenumber h of the untransmitted data packets failing in transmission inthe packet-set, the untransmitted data packets failing in transmissionand subsequent data packets in the packet-sets are defined as theuntransmitted data packets, and the number h thereof is used for thesubsequent processing.

For example, in the examples shown in FIG. 41 and FIG. 43, when the datapacket P2 is not successfully transmitted at the transmission timing t1,the data packets P2, P3, P4 are simultaneously transmitted at thetransmission timing t2 even though the transmission of the data packetP3 has succeeded. This makes is possible to solve the problem of thereversed restoration order of data frames when the receive-side STArestores the data frames from packet-sets.

Twenty-Ninth Embodiment

A twenty-ninth embodiment is structured such that in the twenty-fourthto twenty-fifth embodiment, instead of Step S537 of obtaining the totalnumber w of the untransmitted data packets whose transmission failed andthe remaining untransmitted data packets in the packet-group, theuntransmitted data packets failing in transmission and subsequentlygenerated data packets out of the data packets constituting thepacket-group are defined as the untransmitted data packets, and thenumber w thereof is used for subsequent processing.

For example, in the examples shown in FIG. 45 and FIG. 47, when the datapacket P2 is not successfully transmitted at the transmission timing t1,the data packets P2, P3, P4 are simultaneously transmitted at thetransmission timing t2 even though the data packet P3 has beentransmitted. This makes it possible to solve the problem of the reversedrestoration order of data frames when the receive-side STA restores thedata frames from data packets.

Thirtieth Embodiment

In the fifteenth to twenty-ninth embodiments described hitherto,multiple wireless channels are used for simultaneous transmission ofdata packets, but a method of utilizing a MIMO system or a method ofusing both multiple wireless channels and a MIMO system may be adoptedwhen data packets are transmitted.

Further, when the MIMO is used, the number of MIMOs multiplexable in onechannel may be calculated based on a predetermined threshold value byfinding an antenna correlation from a propagation coefficient. Moreover,simultaneous transmission using multiple wireless channels orsimultaneous transmission using the MIMO system may be selectedaccording to the number of data arriving in the transmission buffer orthe number of MIMOs that depends on a channel condition.

INDUSTRIAL APPLICABILITY

The present invention enables efficient and sure transmission ofretransmission packets, making the best use of idle channels and MIMO atthe time of retransmission due to a failure of transmission of a datapacket, which can enhance throughput. In addition, it is possible tosimplify the control over data frame restoration by a receive-side STAwithout any increase in reception buffer size while realizing enhancedthroughput.

1. A wireless packet communication method for simultaneouslytransmitting a plurality of data packets between two STAs by usingmultiple wireless channels determined to be idle by carrier sense, thetwo STAS capable of using multiple wireless channels, the methodcharacterized by comprising: in retransmission processing due to afailure of transmission of the data packets, comparing a number ofwireless channels determined to be idle by the carrier sense with anumber of retransmission packets; reconstructing the retransmissionpackets according to the number of idle channels when both of thenumbers are different or only when the number of idle channels is largerthan the number of retransmission packets; and simultaneouslytransmitting each reconstructed retransmission packet by using the idlewireless channels.
 2. A wireless packet communication method forsimultaneously transmitting a plurality of data packets between two STAsby MIMO using multiple wireless channels determined to be idle bycarrier sense, the two STAS capable of using MIMO, the methodcharacterized by comprising: in retransmission processing due to afailure of transmission of the data packets, comparing a number of MIMOsof one wireless channel determined to be idle by the carrier sense witha number of retransmission packets; reconstructing the retransmissionpackets according to the number of MIMOs when both of the numbers aredifferent or only when the number of MIMOs is larger than the number ofretransmission packets; and simultaneously transmitting eachreconstructed retransmission packet by using the MIMO.
 3. A wirelesspacket communication method for simultaneously transmitting a pluralityof data packets between two STAs by using multiple wireless channelsdetermined to be idle by carrier sense and MIMO, the plurality of datapackets corresponding to a sum of numbers of MIMOs of the multiplewireless channels, the two STAs capable of using both of the multiplewireless channels and the MIMO of each wireless channel, the methodcharacterized by comprising: in retransmission processing due to afailure of transmission of the data packets, comparing a number ofsimultaneous transmissions with a number of retransmission packets, thenumber of simultaneous transmissions corresponding to a sum of numbersof MIMOs of respective wireless channels determined to be idle by thecarrier sense; reconstructing the retransmission packets according tothe number of simultaneous transmissions when both of the numbers aredifferent or only when the number of simultaneous transmissions islarger than the number of retransmission packets; and simultaneouslytransmitting each reconstructed retransmission packet by using the idlechannels and the MIMO.
 4. A wireless packet communication method forsimultaneously transmitting a plurality of data packets between two STAsby using multiple wireless channels determined to be idle by carriersense, the two STAs capable of using multiple wireless channels, themethod characterized by comprising: in retransmission processing due toa failure of transmission of the data packets, comparing a number ofwireless channels determined to be idle by the carrier sense with anumber of retransmission packets; copying the retransmission packetsaccording to a number of surplus idle channels when the number of idlechannels is larger than the number of retransmission packets;simultaneously transmitting the retransmission packets and copiedpackets by using the idle wireless channels; and diversity-receiving thesimultaneously transmitted retransmission packets and copied packets. 5.A wireless packet communication method for simultaneously transmitting aplurality of data packets between two STAs by MIMO using a wirelesschannel determined to be idle by carrier sense, the two STAS capable ofusing MIMO, the method characterized by comprising: in retransmissionprocessing due to a failure of transmission of the data packets,comparing a number of MIMOs of one wireless channel determined to beidle by the carrier sense with a number of retransmission packets;copying the retransmission packets according to a number of surplusMIMOs when the number of MIMOs is larger than the number ofretransmission packets; simultaneously transmitting the retransmissionpackets and copied packets by using the MIMO; and diversity-receivingthe simultaneously transmitted retransmission packets and copiedpackets.
 6. A wireless packet communication method for simultaneouslytransmitting a plurality of data packets between two STAs by usingmultiple wireless channels determined to be idle by carrier sense andMIMO, the plurality of data packets corresponding to a sum of numbers ofMIMOs of the multiple wireless channels, the two STAs capable of usingboth of the multiple wireless channels and the MIMO of each wirelesschannel, the method characterized by comprising: in retransmissionprocessing due to a failure of transmission of the data packets,comparing a number of simultaneous transmissions with a number ofretransmission packets, the number of simultaneous transmissionscorresponding to a sum of numbers of MIMOs of wireless channelsdetermined to be idle by the carrier sense; copying the retransmissionpackets according to a surplus in the number of simultaneoustransmissions when the number of simultaneous transmissions is largerthan the number of retransmission packets; simultaneously transmittingthe retransmission packets and copied packets by using the idle wirelesschannels and the MIMO; and diversity-receiving the simultaneouslytransmitted retransmission packets and copied packets.
 7. A wirelesspacket communication method for simultaneously transmitting a pluralityof data packets between two STAs by using multiple wireless channelsdetermined to be idle by both physical carrier sense and virtual carriersense, the two STAs capable of using multiple wireless channels, thephysical carrier sense determining a wireless channel to be busy or idlefrom received power, the virtual carrier sense determining a wirelesschannel to be busy during a set transmission inhibition time, the methodcharacterized by comprising: in retransmission processing due to afailure of transmission of the data packets, comparing a number ofwireless channels determined to be idle by the carrier senses with anumber of retransmission packets; securing a transmission time for theplural retransmission packets via the idle wireless channels andcontinuously transmitting the plural retransmission packets without useof said physical carrier sense when the number of idle channels issmaller than the number of retransmission packets.
 8. A wireless packetcommunication method for simultaneously transmitting a plurality of datapackets between two STAs by MIMO using multiple wireless channelsdetermined to be idle by both physical carrier sense and virtual carriersense, the two STAs capable of using multiple wireless channels, thephysical carrier sense determining a wireless channel to be busy or idlefrom received power, the virtual carrier sense determining a wirelesschannel to be busy during a set transmission inhibition time, the methodcharacterized by comprising: in retransmission processing due to afailure of transmission of the data packets, comparing a number of MIMOsof one wireless channel determined to be idle by the carrier senses witha number of retransmission packets; and securing a transmission time forthe plural retransmission packets via the idle wireless channels andcontinuously transmitting the plural retransmission packets without useof said physical carrier sense when the number of MIMOs is smaller thanthe number of retransmission packets.
 9. A wireless packet communicationmethod for simultaneously transmitting a plurality of data packetsbetween two STAs by MIMO using multiple wireless channels determined tobe idle by both physical carrier sense and virtual carrier sense, theplurality of data packets corresponding to a sum of numbers of MIMOs ofthe multiple wireless channels, the two STAs capable of using both ofmultiple wireless channels and MIMO of each wireless channel, thephysical carrier sense determining a wireless channel to be busy or idlefrom received power, the virtual carrier sense determining a wirelesschannel to be busy during a set transmission inhibition time, the methodcharacterized by comprising: in retransmission processing due to afailure of transmission of the data packets, comparing a number ofsimultaneous transmissions with a number of retransmission packets, thenumber of simultaneous transmissions corresponding to a sum of numbersof MIMOs of respective wireless channels determined to be idle by thecarrier senses; and securing a transmission time for the pluralretransmission packets via said idle wireless channels and continuouslytransmitting the plural retransmission packets without use of saidphysical carrier sense when the number of simultaneous transmissions issmaller than the number of retransmission packets.
 10. The wirelesspacket communication method according to any one of claims 2, 3, 5, 6,8, 9, characterized in that the number of MIMOs is set according to achannel condition between said two STAs.
 11. The wireless packetcommunication method according to any one of claims 7-9, characterizedin that the step of securing the transmission time for the pluralretransmission packets via the idle wireless channels and continuouslytransmitting said plural retransmission packets without use of saidphysical carrier sense includes: setting the transmission time for saidplural retransmission packets in a retransmission packet to betransmitted first as the transmission inhibition time and transmittingthe retransmission packet; and refraining from transmitting theretransmission packet during the transmission inhibition time at an STAhaving received the retransmission packet, while continuouslytransmitting subsequent retransmission packets from an own STA havingtransmitted the retransmission packet.
 12. The wireless packetcommunication method according to any one of claims 7-9, characterizedin that the step of securing the transmission time for the pluralretransmission packets via the idle wireless channels and continuouslytransmitting said plural retransmission packets without use of saidphysical carrier sense includes: appending information indicatingpresence of a subsequent retransmission packet to a retransmissionpacket to be transmitted first; setting, in the retransmission packet,by an STA having normally received the retransmission packet, atransmission time for a subsequent retransmission packet to a replypacket as the transmission inhibition time to transmit the reply packettherefrom; and refraining from transmitting the retransmission packetduring the transmission inhibition time at an STA receiving the replypacket, while continuously transmitting subsequent retransmissionpackets from an own STA as a destination of the reply packet, ignoringthe transmission inhibition time.
 13. The wireless packet communicationmethod according to any one of claims 7-9, characterized in that thestep of securing the transmission time for the plural retransmissionpackets via the idle wireless channels and continuously transmittingsaid plural retransmission packets without use of said physical carriersense includes: transmitting a control packet in which the transmissiontime for said plural retransmission packets is set as the transmissioninhibition time; and refraining from transmitting the retransmissionpackets during the transmission inhibition time at an STA havingreceived the control packet, while continuously transmitting said pluralretransmission packets from an own STA having transmitted the controlpacket.
 14. The wireless packet communication method according to claim13, characterized in that: the STA having received said control packetsets the transmission inhibition time in a reply packet to transmit thereply packet; and an STA having received the reply packet refrains fromtransmitting during the transmission inhibition time, while the own STAas a destination of the reply packet continuously transmit the pluralretransmission packets, ignoring the transmission inhibition time.
 15. Awireless packet communication method for simultaneously transmitting aplurality of data packets between two STAs by using multiple wirelesschannels or by MIMO using one wireless channel, or simultaneouslytransmitting a plurality of data packets corresponding to a sum ofnumbers of MIMOs of multiple wireless channels by using both of themultiple wireless channels and the MIMO using one wireless channel, themethod characterized by comprising: generating, at a transmit-side STA,a plurality of data packets from one data frame or more accumulated in atransmission buffer for simultaneous transmission, the plurality of datapackets having a same transmission time; receiving an ACK packettransmitted from a receive-side STA and retransmitting only anot-successfully-transmitted data packet when recognizing a success oftransmission of part of the data packets; retransmitting the plural datapackets from the transmit-side station when not receiving the ACKpacket; and receiving the ACK packet and starting a next transmissionprocessing at the transmit-side station when recognizing success oftransmission of all the simultaneously transmitted data packets.
 16. Awireless packet communication method for simultaneously transmitting aplurality of data packets between two STAs by using multiple wirelesschannels or by MIMO using one wireless channel, or simultaneouslytransmitting a plurality of data packets corresponding to a sum ofnumbers of MIMOs of multiple wireless channels by using both of themultiple wireless channels and MIMO using one wireless channel, themethod characterized by comprising: generating, at a transmit-side STA,a plurality of data packets from one data frame or more accumulated in atransmission buffer for simultaneous transmission, the plurality of datapackets having a same transmission time; further transmitting therefroma NACK request packet for requesting a NACK packet indicating anot-successfully-received data packet; receiving the NACK packettransmitted from a receive-side STA and retransmitting onlynot-successfully-transmitted data packets when recognizing failure oftransmission of part or all of the data packets; and starting a nextsubsequent transmission processing when not receiving the NACK packet.17. A wireless packet communication method for simultaneouslytransmitting a plurality of data packets between two STAs by usingmultiple wireless channels or by MIMO using one wireless channel, orsimultaneously transmitting a plurality of data packets corresponding toa sum of numbers of MIMOs of multiple wireless channels by using both ofthe multiple wireless channels and MIMO using one wireless channel, themethod characterized by comprising: generating, at a transmit-side STA,a plurality of data packets at least in unit of simultaneouslytransmittable number from one data frame or more accumulated in atransmission buffer for continuous simultaneous transmissions in unit ofthe simultaneously transmittable number, the plurality of data packetshaving a same transmission time; further transmitting therefrom an ACKrequest packet for requesting an ACK packet indicating a successfullyreceived data packet; receiving the ACK packet transmitted from areceive-side STA and retransmitting only a not-successfully-transmitteddata packet when recognizing success of transmission of part of the datapackets; retransmitting the plural data packets when not receiving theACK packet; and receiving the ACK packet and starting a nexttransmission processing when recognizing success of transmissions of allthe data packets.
 18. A wireless packet communication method forsimultaneously transmitting a plurality of data packets between two STAsby using multiple wireless channels or by MIMO using one wirelesschannel, or simultaneously transmitting a plurality of data packetscorresponding to a sum of numbers of MIMOs of multiple wireless channelsby using both of the multiple wireless channels and MIMO using onewireless channel, characterized by comprising: generating, at atransmit-side STA, a plurality of data packets at least in asimultaneously transmittable number from one data frame or moreaccumulated in a transmission buffer for continuous simultaneoustransmissions in unit of the simultaneously transmittable number, theplurality of data packets having a same transmission time; furthertransmitting therefrom a NACK request packet for requesting a NACKpacket indicating a not-successfully-received data packet; receivingsaid NACK packet transmitted from a receive-side STA and retransmittingonly the not-successfully-transmitted data packet when recognizingfailure of transmission of part or all of the data packets; and startinga transmission processing when not receiving said NACK packet.
 19. Thewireless packet communication method according to claim 17 or claim 18,characterized by further comprising: when the plural data packetscontinuously simultaneously transmitted are equal in the transmissiontime, continuously simultaneously retransmitting thenot-successfully-transmitted data packets in a case where the number ofnot-successfully-transmitted data packets exceeds said simultaneouslytransmittable number; retransmitting or simultaneously retransmittingthe not-successfully-transmitted data packets in a case where the numberof not-successfully-transmitted data packets is equal to or smaller thansaid simultaneously transmittable number.
 20. The wireless packetcommunication method according to claim 17 or claim 18, characterized byfurther comprising: when the transmission time for continuouslysimultaneously transmitting the plural data packets is differentdepending on said simultaneously transmittable number, adding a dummybit to a data packet having a shorter transmission time to make packettime lengths equal in a case where the not-successfully-transmitted datapackets are different in the transmission time; continuouslysimultaneously retransmitting the not-successfully-transmitted datapackets in a case where the number of not-successfully-transmitted datapackets exceeds said simultaneously transmittable number; andretransmitting or simultaneously retransmitting thenot-successfully-transmitted data packets in a case where the number ofnot-successfully-transmitted data packets is equal to or smaller thansaid simultaneously transmittable number.
 21. The wireless packetcommunication method according to any one of claim 15-claim 18,characterized by further comprising retransmitting a data packet with asmallest sequence number and all subsequent data packets among thenot-successfully-transmitted data packets, instead of retransmittingonly the not-successfully-transmitted data packets.
 22. A wirelesspacket communication method for simultaneously transmitting a pluralityof data packets between two STAs by using multiple wireless channels orby MIMO using one wireless channel, or simultaneously transmitting aplurality of data packets corresponding to a sum of numbers of MIMOs ofmultiple wireless channels by using both of the multiple wirelesschannels and MIMO using one wireless channel, the method characterizedby comprising: determining the number of simultaneously transmitted datapackets to be p, p being an integer equal to 2 or more; and a first STAtransmitting said data packets executing: a step 1 of generating Mpacket-sets from one data frame or more accumulated in a transmissionbuffer, M being an integer equal to 1 or more, the packet-sets eachconsisting of p pieces of data packets or less that are equal in atransmission time; a step 2 of simultaneously transmitting onepacket-set among the M packet-sets in order of generation, the onepacket-set being determined to be an Nth packet-set; a step 3 ofsimultaneously transmitting an N+1th packet-set in the order ofgeneration when receiving a reply packet indicating success oftransmission of all the data packets from a second STA having receivedsaid Nth packet-set; a step 4 of obtaining a number h of untransmitteddata packets failing in transmission when receiving the reply packetindicating a failure of transmission of part of the data packets fromsaid second STA, and simultaneously transmitting h pieces ofuntransmitted data packets in the Nth packet-set and (p−h) pieces ofuntransmitted data packets or less in and after the N+1th packet-set inthe order of generation when there is any untransmitted data packet inand after the N+1th packet-set, while transmitting h pieces ofuntransmitted data packets in the Nth packet-set when there is nountransmitted data packet in and after the N+1th packet-set; a step 5 ofsimultaneously transmitting the Nth packet-set again when not receivingsaid reply packet from said second STA, wherein: when all the datapackets constituting the Nth packet-set are successfully transmittedafter the simultaneous transmission in the step 4, the first STAsubstitutes a number of untransmitted data packets in and after theN+1th packet-set for the number h of untransmitted data packets failingin transmission, and thereafter repeats the processing of the step 4until completing transmission of all the data packets in the Mpacket-sets; and after completing the transmission of all the datapackets in said M packet-sets, the first STA returns to the step 1 togenerate M new packet-sets.
 23. The wireless packet communication methodaccording to claim 22, characterized by further comprising: transmittinga NACK request packet after transmitting the packet-set from said firstSTA to said second STA, transmitting a NACK packet from said second STAin response to the NACK request packet when there is anynot-successfully-transmitted data packet; and performing the processingof the step 3 by said first STA and not performing the processing of thestep 5 when said NACK packet does not arrive.
 24. The wireless packetcommunication method according to claim 22 or claim 23, characterized byfurther comprising when the number M of packet-sets generatable at atime exceeds the upper limit value in the step 1, suspending thegeneration of a surplus packet-set over an upper limit value and keepingdata frames not used for the packet-set generation for a next packet-setgeneration.
 25. The wireless packet communication method according toclaim 22 or claim 23, characterized by further comprising when a numberof data frames used for generating the M packet-sets exceeds the upperlimit value in the step 1, suspending the generation of a packet-setfrom a surplus data frame over an upper limit value and keeping thesurplus data frame for a next packet-set generation.
 26. A wirelesspacket communication method for simultaneously transmitting a pluralityof data packets between two STAs by using multiple wireless channels orby MIMO using one wireless channel, or simultaneously transmitting aplurality of data packets corresponding to a sum of numbers of MIMOs ofmultiple wireless channels by using both of the multiple wirelesschannels and MIMO using one wireless channel, characterized bycomprising: determining the number of simultaneously transmitted datapackets to be p, p being an integer equal to 2 or more; and a first STAtransmitting said data packets executing: a step 1 of generating, fromone data frame or more accumulated in a transmission buffer, apacket-group consisting of a plurality of data packets that are equal ina transmission time T, and adding a number D1 of generated data packetsto a cumulative number R of data packets; a step 2 of simultaneouslytransmitting, in order of generation, a maximum of p pieces ofuntransmitted data packets out of the data packets belonging to saidpacket-group; a step 3 of obtaining a number w of remaininguntransmitted data packets in said packet-group when receiving a replypacket indicating success of transmission of all the data packets from asecond STA having received the simultaneously transmitted data packets,and simultaneously transmitting the maximum of p pieces of untransmitteddata packets in the order of generation when w≧p, while when w<p and adata frame is newly inputted to said transmission buffer, generatingdata packets whose transmission time is equal to said time T from thedata frame and adding the generated data packets to said packet-group,and adding a number D2 of generated data packets to said cumulativenumber R of data packets to simultaneously transmit the maximum of ppieces of untransmitted data packets in the order of generation; a step4 of obtaining a total number w of the untransmitted data packetsfailing in transmission and remaining untransmitted data packets in saidpacket-group when the reply packet indicating a failure of transmissionof part of the simultaneously transmitted data packets arrives from saidsecond STA, and simultaneously transmitting, in the order of generation,the maximum of p pieces of untransmitted data packets including saiduntransmitted data packets failing in transmission when w≧p, while, whenw<p and a data frame is newly inputted to said transmission buffer,generating from the data frame, data packets whose transmission time isequal to said time T and adding the generated data packets to saidpacket-group, and adding a number of the generated data packets to saidcumulative number R of data packets and simultaneously transmitting, inthe order of generation, the maximum of p pieces of untransmitted datapackets including said untransmitted data packets failing intransmission; and a step 5 of simultaneously transmitting all datapackets transmitted latest when the reply packet relating to receptionof the packet-sets does not arrive from said second STA, wherein thefirst STA repeats the processing of one of the step 3 to the step 5,resets said transmission time T and said cumulative number R of datapackets when there is no new data frame input and the transmission ofall the data packets in said packet-group is completed, and returns tothe step
 1. 27. The wireless packet communication method according toclaim 26, characterized by further comprising: transmitting a NACKrequest packet after simultaneously transmitting data packets from saidfirst STA to said second STA, and transmitting a NACK packet from saidsecond STA in response to the NACK request packet when there is anynot-successfully-transmitted data packet; and executing, by said firstSTA, the processing of the step 3 and not executing the processing ofthe step 5 when said NACK packet does not arrive.
 28. The wirelesspacket communication method according to claim 26 or claim 27,characterized by further comprising when the cumulative number R of datapackets in said packet-group exceeds an upper limit value, suspendingthe generation of the data packets from the new data frame, resettingsaid transmission time T and said cumulative number R of data packetsafter completing the transmission of all the data packets in saidpacket-group, and returning to the step
 1. 29. The wireless packetcommunication method according to claim 28, characterized by furthercomprising when the cumulative number R of data packets in saidpacket-group does not exceed the upper limit value after the completionof the transmission of all the data packets in said packet-group, notresetting said transmission time T and the cumulative number R of datapackets and returning to the step
 1. 30. The wireless packetcommunication method according to claim 27, characterized in that acumulative number F of data frames used for generating the packet-groupis used instead of the cumulative number R of data packets constitutingsaid packet-group.
 31. The wireless packet communication methodaccording to claim 22, characterized in that instead of the number h ofthe untransmitted data packets failing in transmission in the step 4,the untransmitted data packets failing in transmission and subsequentdata packets in said packet-sets are determined to be the untransmitteddata packets, and a number thereof is determined to be h.
 32. Thewireless packet communication method according to claim 26,characterized in that instead of the total number w of the untransmitteddata packets failing in transmission and the remaining untransmitteddata packets in the packet-group in the step 4, the data packets failingin transmission and subsequent data packets in said packet-group aredetermined to be the untransmitted data packets and a number thereof isdetermined to be w.
 33. A wireless packet communication apparatus forsimultaneously transmitting a plurality of data packets between two STAsby using multiple wireless channels determined to be idle by carriersense, the two STAS capable of using multiple wireless channels, theapparatus characterized by comprising: a unit which compares a number ofwireless channels determined to be idle by the carrier sense with anumber of retransmission packets, in retransmission processing due to afailure of transmission of the data packets; a unit which reconstructsthe retransmission packets according to the number of idle channels whenboth of the numbers are different or only when the number of idlechannels is larger than the number of retransmission packets; and a unitwhich simultaneously transmits each reconstructed retransmission packetby using the idle wireless channels.
 34. A wireless packet communicationapparatus for simultaneously transmitting a plurality of data packetsbetween two STAs by MIMO using multiple wireless channels determined tobe idle by carrier sense, the two STAS capable of using MIMO, theapparatus characterized by comprising: a unit which compares a number ofMIMOs of one wireless channel determined to be idle by the carrier sensewith a number of retransmission packets, in retransmission processingdue to a failure of transmission of the data packets; a unit whichreconstructs the retransmission packets according to the number ofMIMOs, when both of the numbers are different or only when the number ofMIMOs is larger than the number of retransmission packets; and a unitwhich simultaneously transmits each reconstructed retransmission packetby using the MIMO.
 35. A wireless packet communication apparatus forsimultaneously transmitting a plurality of data packets between two STAsby MIMO using multiple wireless channels determined to be idle bycarrier sense, the plurality of data packets corresponding to a sum ofnumbers of MIMOs of the multiple wireless channels, the two STAs capableof using both of the multiple wireless channels and the MIMO, theapparatus characterized by comprising: a unit which compares a number ofsimultaneous transmissions with a number of retransmission packets inretransmission processing due to a failure of transmission of the datapackets, the number of simultaneous transmissions corresponding to a sumof numbers of MIMO of respective wireless channels determined to be idleby the carrier sense; a unit which reconstructs the retransmissionpackets according to the number of simultaneous transmissions when bothof the numbers are different or only when the number of simultaneoustransmissions is larger than the number of retransmission packets; and aunit which simultaneously transmits each reconstructed retransmissionpacket by using the idle wireless channels and the MIMO.
 36. A wirelesspacket communication apparatus for simultaneously transmitting aplurality of data packets between two STAs by using multiple wirelesschannels determined to be idle by carrier sense, the two STAS capable ofusing multiple wireless channels, the apparatus characterized bycomprising: a unit which compares a number of wireless channelsdetermined to be idle by the carrier sense with a number ofretransmission packets, in retransmission processing due to a failure oftransmission of the data packets; a unit which copies the retransmissionpackets according to a number of surplus idle channels when the numberof idle channels is larger than the number of retransmission packets; aunit which simultaneously transmits the retransmission packets andcopied packets by using the idle wireless channels; and a unit whichdiversity-receives the simultaneously transmitted retransmission packetsand copied packets.
 37. A wireless packet communication apparatus forsimultaneously transmitting a plurality of data packets between two STAsby MIMO using a wireless channel determined to be idle by carrier sense,the two STAS capable of using MIMO, the apparatus characterized bycomprising: a unit which compares a number of MIMOs of one wirelesschannel determined to be idle by the carrier sense with a number ofretransmission packets, in retransmission processing due to a failure oftransmission of the data packets; a unit which copies the retransmissionpackets according to a number of surplus MIMOs when the number of MIMOsis larger than the number of retransmission packets; a unit whichsimultaneously transmits the retransmission packets and copied packetsby using the MIMO; and a unit which diversity-receives thesimultaneously transmitted retransmission packets and copied packets.38. A wireless packet communication apparatus for simultaneouslytransmitting a plurality of data packets between two STAs by using MIMOand multiple wireless channels determined to be idle by carrier sense,the plurality of data packets corresponding to a sum of numbers of MIMOsof the multiple wireless channels, the two STAs capable of using both ofthe multiple wireless channels and the MIMO of each wireless channel,the apparatus characterized by comprising: a unit which compares anumber of simultaneous transmissions with a number of retransmissionpackets, in retransmission processing due to a failure of transmissionof the data packets, the number of simultaneous transmissionscorresponding to a sum of numbers of MIMO of wireless channelsdetermined to be idle by the carrier sense; a unit which copies theretransmission packets according to a surplus in the number ofsimultaneous transmissions when the number of simultaneous transmissionsis larger than the number of retransmission packets; a unit whichsimultaneously transmits the retransmission packets and copied packetsby using the idle wireless channels and the MIMO; and a unit whichdiversity-receives the simultaneously transmitted retransmission packetsand copied packets.
 39. A wireless packet communication apparatus forsimultaneously transmitting a plurality of data packets between two STAsby using multiple wireless channels determined to be idle by bothphysical carrier sense and virtual carrier sense, the two STAs capableof using multiple wireless channels, the physical carrier sensedetermining a wireless channel to be busy or idle from received power,the virtual carrier sense determining a wireless channel to be busyduring a set transmission inhibition time, the apparatus characterizedby comprising: a unit which compares a number of wireless channelsdetermined to be idle by the carrier senses with a number ofretransmission packets, in retransmission processing due to a failure oftransmission of the data packets; and a unit which secures atransmission time for the plural retransmission packets via said idlewireless channels, and continuously transmits the plural retransmissionpackets without use of said physical carrier sense, when the number ofidle channels is smaller than the number of retransmission packets, 40.A wireless packet communication apparatus for simultaneouslytransmitting a plurality of data packets between two STAs by MIMO usinga wireless channel determined to be idle by both physical carrier senseand virtual carrier sense, the two STAs capable of using MIMO, thephysical carrier sense determining a wireless channel to be busy or idlefrom received power, the virtual carrier sense determining a wirelesschannel to be busy during a set transmission inhibition time, theapparatus characterized by comprising: a unit which compares a number ofMIMOs of one wireless channel determined to be idle by the carriersenses with a number of retransmission packets, in retransmissionprocessing due to a failure of transmission of the data packets; and aunit which secures a transmission time for the plural retransmissionpackets via said idle wireless channel and continuously transmits theplural retransmission packets without use of said physical carrier sensewhen the number of MIMOs is smaller than the number of retransmissionpackets.
 41. A wireless packet communication apparatus forsimultaneously transmitting a plurality of data packets between two STAsby using MIMO and multiple wireless channels determined to be idle byboth physical carrier sense and virtual carrier sense, the plurality ofdata packets corresponding to a sum of numbers of MIMOs of the multiplewireless channels, the two STAs capable of using both of multiplewireless channels and MIMO of each wireless channel, the physicalcarrier sense determining a wireless channel to be busy or idle fromreceived power, the virtual carrier sense determining a wireless channelto be busy during a set transmission inhibition time, the apparatuscharacterized by comprising: a unit which compares a number ofsimultaneous transmissions with a number of retransmission packets, inretransmission processing due to a failure of transmission of the datapackets, the number of simultaneous transmissions corresponding to a sumof numbers of MIMO of respective wireless channels determined to be idleby the carrier senses; and a unit which secures a transmission time forthe plural retransmission packets via said idle wireless channels andcontinuously transmits the plural retransmission packets without use ofsaid physical carrier sense, when the number of simultaneoustransmissions is smaller than the number of retransmission packets. 42.The wireless packet communication apparatus according to any one ofclaims 34, 35, 37, 38, 40, 41, characterized by further comprising aunit setting the number of MIMOs according to a channel conditionbetween said two STAs.
 43. The wireless packet communication apparatusaccording to any one of claims 39-41, characterized in that said unitwhich secures the transmission time for the plural retransmissionpackets via said idle wireless channels and continuously transmits saidplural retransmission packets without use of said physical carrier sensesets the transmission time for said plural retransmission packets in aretransmission packet to be transmitted first as the transmissioninhibition time, to transmit the retransmission packet, so that an STAhaving received the retransmission packet refrains from transmittingduring the transmission inhibition time while an own STA havingtransmitted the retransmission packet continuously transmits subsequentretransmission packets.
 44. The wireless packet communication apparatusaccording to any one of claims 39-41, characterized in that said unitwhich secures the transmission time for the plural retransmissionpackets via said idle wireless channel and continuously transmits saidplural retransmission packets without use of said physical carrier senseappends, to a retransmission packet to be transmitted first, informationindicating presence of a subsequent retransmission packet, so that anSTA having normally received the retransmission packet sets atransmission time for the subsequent retransmission packet in a replypacket as the transmission inhibition time to transmit the reply packet,and that an STA having received the reply packet refrains fromtransmitting during the transmission inhibition time while an own STA asa destination of the reply packet ignores the transmission inhibitiontime to continuously transmit subsequent retransmission packets.
 45. Thewireless packet communication apparatus according to any one of claims39-41, characterized in that said unit which secures the transmissiontime for the plural retransmission packets via said idle wirelesschannels and continuously transmits said plural retransmission packetswithout use of said physical carrier sense includes a unit whichtransmits a control packet in which the transmission time for saidplural retransmission packets is set as the transmission inhibitiontime, so that an STA having received the control packet refrains fromtransmitting during the transmission inhibition time, while an own STAtransmitting the control packet continuously transmits said pluralretransmission packets.
 46. The wireless packet communication apparatusaccording to claim 45, characterized in that the STA having receivedsaid control packet includes a unit which sets said transmissioninhibition time in a reply packet to transmit the reply packet, so thatan STA having received the reply packet refrains from transmittingduring the transmission inhibition time, while the own STA as adestination of the reply packet ignores the transmission inhibition timeto continuously transmit the plural retransmission packets.
 47. Awireless packet communication apparatus for simultaneously transmittinga plurality of data packets between two STAs by using multiple wirelesschannels or by MIMO using one wireless channel, or simultaneouslytransmitting a plurality of data packets corresponding to a sum ofnumbers of MIMOs of multiple wireless channels by using both of themultiple wireless channels and MIMO using one wireless channel, theapparatus characterized by comprising a transmit-side STA comprising: aunit which generates, from one data frame or more accumulated in atransmission buffer, a plurality of data packets having a sametransmission time to simultaneously transmit the plural data packets;and a unit which receives an ACK packet transmitted from a receive-sideSTA and retransmits only a not-successfully-transmitted data packet whenrecognizing a success of transmission of part of the data packets, whileretransmitting said plural data packets when not receiving said ACKpacket, wherein the transmit-side STA starts a next transmissionprocessing when receiving said ACK packet and recognizing success oftransmission of all the simultaneously transmitted data packets.
 48. Awireless packet communication method for simultaneously transmitting aplurality of data packets between two STAs by using multiple wirelesschannels or by MIMO using one wireless channel, or simultaneouslytransmitting a plurality of data packets corresponding to a sum ofnumbers of MIMOs of multiple wireless channels by using both of themultiple wireless channels and MIMO using one wireless channel, theapparatus characterized by comprising a transmit-side STA comprising: aunit which generates, from one data frame or more accumulated in atransmission buffer, a plurality of data packets having a same atransmission time to simultaneously transmit the plural data packets; aunit which transmits a NACK request packet for requesting a NACK packetindicating a not-successfully-received data packet; and a unit whichreceives said NACK packet transmitted from a receive-side STA andretransmits only the not-successfully-transmitted data packet whenrecognizing failure of transmission of part or all of the data packets,wherein the transmit-side STA starts a transmission processing when notreceiving said NACK packet.
 49. A wireless packet communication methodfor simultaneously transmitting a plurality of data packets between twoSTAs by using multiple wireless channels or by MIMO using one wirelesschannel, or simultaneously transmitting a plurality of data packetscorresponding to a sum of numbers of MIMOs of multiple wireless channelsby using both of the multiple wireless channels and MIMO using onewireless channel, the apparatus characterized by comprising atransmit-side STA comprising: a unit which generates, from one dataframe or more accumulated in a transmission buffer, a plurality of datapackets at least in unit of a simultaneously transmittable number, tocontinuously simultaneously transmit the plural data packets in unit ofthe simultaneously transmittable number, the plurality of data packetshaving a same transmission time; a unit which transmits an ACK requestpacket for requesting an ACK packet indicating a successfully receiveddata packet; and a unit which receives said ACK packet transmitted froma receive-side STA and retransmits only a not-successfully-transmitteddata packet when recognizing success of transmission of part of the datapackets, and retransmits said plural data packets when not receivingsaid ACK packet, wherein the transmit-side STA starts a nexttransmission processing when receiving said ACK packet and recognizingsuccess of transmission of all the simultaneously transmitted datapackets.
 50. A wireless packet communication apparatus forsimultaneously transmitting a plurality of data packets between two STAsby using multiple wireless channels or by MIMO using one wirelesschannel, or simultaneously transmitting a plurality of data packetscorresponding to a sum of numbers of MIMOs of multiple wireless channelsby using both of the multiple wireless channels and MIMO using onewireless channel, the apparatus characterized by comprising atransmit-side STA comprising: a unit which generates, from one dataframe or more accumulated in a transmission buffer, a plurality of datapackets at least in unit of a simultaneously transmittable number, tocontinuously simultaneously transmit the plural data packets in unit ofthe simultaneously transmittable number, the plurality of data packetshaving a same transmission time; a unit which transmits a NACK requestpacket for requesting a NACK packet indicating anot-successfully-received data packet; and a unit which receives saidNACK packet transmitted from a receive-side STA and retransmits only thenot-successfully-transmitted data packet when recognizing failure oftransmission of part or all of the data packets, wherein thetransmit-side STA starts a subsequent transmission processing when notreceiving said NACK packet.
 51. The wireless packet communicationapparatus according to claim 49 or claim 50, characterized by furthercomprising: when the plural data packets continuously simultaneouslytransmitted are equal in the transmission time, a unit whichcontinuously simultaneously transmits the not-successfully-transmitteddata packets in a case where a number of thenot-successfully-transmitted data packets exceeds said simultaneouslytransmittable number; and a unit which retransmits or simultaneouslyretransmits the not-successfully-transmitted data packets in a casewhere the number of the not-successfully-transmitted data packets isequal to or smaller than said simultaneously transmittable number. 52.The wireless packet communication apparatus according to claim 49 orclaim 50, characterized by further comprising: when the transmissiontime for the plural data packets continuously simultaneously transmittedis different depending on said simultaneously transmittable number, aunit which adds a dummy bit to a data packet with a shorter transmissiontime to make packet time lengths equal in a case where thenot-successfully-transmitted data packets are different in thetransmission time; a unit which continuously simultaneously transmitsthe not-successfully-transmitted data packets in a case where a numberof the not-successfully-transmitted data packets exceeds saidsimultaneously transmittable number; and a unit which retransmits orsimultaneously retransmits the not-successfully-transmitted data packetsin a case where the number of the not-successfully-transmitted datapackets is equal to or smaller than said simultaneously transmittablenumber.
 53. The wireless packet communication apparatus according to anyone of claims 47-50, characterized in that the retransmitting unitretransmits a data packet with a smallest sequence number and allsubsequent data packets among the not-successfully-transmitted datapackets instead of retransmitting only the not-successfully-transmitteddata packets.
 54. A wireless packet communication apparatus forsimultaneously transmitting a plurality of data packets between two STAsby using multiple wireless channels or by MIMO using one wirelesschannel, or simultaneously transmitting a plurality of data packetscorresponding to a sum of numbers of MIMOs of multiple wireless channelsby using both of the multiple wireless channels and MIMO using onewireless channel, the apparatus characterized by comprising when anumber of the simultaneously transmitted data packets is determined tobe p, p being an integer equal to 2 or more, a first STA transmittingsaid data packets comprising: a first unit which generates, from onedata frame or more accumulated in a transmission buffer, M packet-setseach consisting of p pieces of data packets or less which are equal in atransmission time, M being an integer equal to 1 or more; a second unitwhich simultaneously transmits one packet-set among the M packet-sets inorder of generation, the one packet-set being determined to be an Nthpacket-set; a third unit which simultaneously transmits an N+1thpacket-set in the order of generation when receiving a reply packetindicating success of transmission of all the data packets from a secondSTA having received said Nth packet-set; a fourth unit which obtains anumber h of untransmitted data packets failing in transmission whenreceiving the reply packet indicating a failure of transmission of partof the data packets from said second STA, and when there is anyuntransmitted data packet in and after the N+1th packet-set,simultaneously transmits h pieces of the untransmitted data packets inthe Nth packet-set and (p−h) pieces of untransmitted data packets orless in and after the N+1th packet-set in the order of generation, whiletransmits h pieces of the untransmitted data packets in the Nth set whenthere is no untransmitted data packet in and after the N+1th packet-set;and a fifth unit which simultaneously transmits the Nth packet-set againwhen said reply packet is not received from said second STA, wherein:when successfully transmitting all the data packets constituting the Nthpacket-set after the simultaneous transmission, said fourth unitsubstitutes a number of the untransmitted data packets in and after theN+1th packet-set for the number h of the untransmitted data packetsfailing in transmission, and thereafter repeats the processing until itcompletes transmissions of all the data packets in the M packet-sets;and said first unit generates M new packet-sets again after said fourthunit completes the transmission of all the data packets in said Mpacket-sets.
 55. The wireless packet communication apparatus accordingto claim 54, characterized by further comprising a unit which transmitsa NACK request packet after the packet-set is transmitted from saidfirst STA to said second STA, so that said second STA transmits a NACKpacket in response to the NACK request packet when there is anynot-successfully-transmitted data packet, wherein when said NACK packetdoes not arrive, said third unit executes the processing and said fifthunit does not execute the processing.
 56. The wireless packetcommunication apparatus according to claim 54 or claim 55, characterizedin that when the number M of the packet-sets generatable at a timeexceeds the upper limit value, said first unit suspends the generationof a surplus packet-set over an upper limit value and keeps data framesnot used for generating the packet-set for a next packet-set generation.57. The wireless packet communication apparatus according to claim 54 orclaim 55, characterized in that when a number of data frames used forgenerating the M packet-sets exceeds the upper limit value, said firstunit suspends the generation of a packet-set from a surplus data frameover an upper limit value and keeps the surplus data frame for a nextpacket-set generation.
 58. A wireless packet communication apparatus forsimultaneously transmitting a plurality of data packets between two STAsby using multiple wireless channels or by MIMO using one wirelesschannel, or simultaneously transmitting a plurality of data packetscorresponding to a sum of numbers of MIMOs of multiple wireless channelsby using both of the multiple wireless channels and MIMO using onewireless channel, characterized by comprising when a number of thesimultaneously transmitted data packets is determined to be p, p beingan integer equal to 2 or more, a first STA transmitting said datapackets comprising: a first unit which generates, from one data frame ormore accumulated in a transmission buffer, a packet-group consisting ofa plurality of data packets that are equal in a transmission time T, andadds a number D1 of data packets to a cumulative number R of datapackets; a second unit which simultaneously transmits, in order ofgeneration, a maximum of p pieces of untransmitted data packets out ofthe data packets belonging to said packet-group; a third unit whichobtains a number w of remaining untransmitted data packets in saidpacket-group when a reply packet indicating success of transmission ofall the data packets is received from a second STA having received thesimultaneously transmitted data packets, and simultaneously transmitsthe maximum of p pieces of untransmitted data packets in the order ofgeneration when w≧p, while, when w<p and a data frame is newly inputtedto said transmission buffer, generates, from the data frame, datapackets whose transmission time is equal to said time T and adds thedata packets to said packet-group, and simultaneously transmits themaximum of p pieces of the untransmitted data packets in the order ofgeneration after adding a number D2 of data packets to said cumulativenumber R of data packets; a fourth unit which obtains a total number wof the untransmitted data packets failing in transmission and remaininguntransmitted data packets in said packet-group, when the reply packetindicating a failure of transmission of part of the simultaneouslytransmitted data packets arrives from said second STA, andsimultaneously transmits, in the order of generation, the maximum of ppieces of untransmitted data packets including the untransmitted datapackets failing in transmission, when w≧p, while, when w<p and a dataframe is newly inputted to said transmission buffer, generates, from thedata frame, data packets whose transmission time is equal to said time Tand adds the data packets to said packet-group, and simultaneouslytransmits, in the order of generation, the maximum of p pieces ofuntransmitted data packets including said untransmitted data packetsfailing in transmission after adding a number of the generated datapackets to said cumulative number R of data packets; and a fifth unitwhich simultaneously transmits all data packets transmitted latest, whenthe reply packet relating to reception of the packet-sets does notarrive from said second STA, wherein one of said third to fifth unitsrepeats the processing, said first STA resets said transmission time Tand said cumulative number R of data packets when there is no new dataframe input and the transmission of all the data packets in saidpacket-group is completed, and said first unit starts the processingagain.
 59. The wireless packet communication apparatus according toclaim 58, characterized by further comprising a unit which transmits aNACK request packet after said first STA simultaneously transmits thedata packets to said second STA, so that said second STA transmits aNACK packet in response to the NACK request packet when there is anynot-successfully-transmitted data packet, wherein when said NACK packetdoes not arrive, said third unit executes the processing and said fifthunit does not execute+the processing.
 60. The wireless packetcommunication apparatus according to claim 58 or claim 59, characterizedin that, when the cumulative number R of data packets in saidpacket-group exceeds an upper limit value, said first STA suspends thegeneration of the data packets from the new data frame, and resets saidtransmission time T and said cumulative number R of data packets afterthe completion of the transmission of all the data packets in saidpacket-group, and said first unit starts the processing again.
 61. Thewireless packet communication apparatus according to claim 60,characterized in that, when the cumulative number R of data packets insaid packet-group does not exceed the upper limit value after thecompletion of the transmission of all the data packets in saidpacket-group, said first STA does not reset said transmission time T andsaid cumulative number R of data packets, and said first unit starts theprocessing again.
 62. The wireless packet communication apparatusaccording to claim 59, characterized in that a cumulative number F ofdata frames used for generating the packet-group is used instead of thecumulative number R of data packets constituting the packet-group. 63.The wireless packet communication apparatus according to claim 54,characterized in that, said fourth unit determines data packetssubsequent to the untransmitted data packets failing in transmission insaid packet-sets to be the untransmitted data packets, and determines anumber thereof to be h, instead of the number h of the untransmitteddata packets failing in transmission.
 64. The wireless packetcommunication apparatus according to claim 58, characterized in thatsaid fourth unit determines data packets subsequent to the data packetswhose transmission failed in said packet-group to be the untransmitteddata packets and determines a number thereof to be w, instead of thetotal number w of the untransmitted data packets failing in transmissionand the remaining untransmitted data packets in the packet-group. 65.The wireless packet communication method according to claim 28,characterized in that a cumulative number F of data frames used forgenerating the packet-group is used instead of the cumulative number Rof data packets constituting said packet-group.
 66. The wireless packetcommunication method according to claim 29, characterized in that acumulative number F of data frames used for generating the packet-groupis used instead of the cumulative number R of data packets constitutingsaid packet-group.
 67. The wireless packet communication apparatusaccording claim 60, characterized in that a cumulative number F of dataframes used for generating the packet-group is used instead of thecumulative number R of data packets constituting the packet-group. 68.The wireless packet communication apparatus according to claim 61,characterized in that a cumulative number F of data frames used forgenerating the packet-group is used instead of the cumulative number Rof data packets constituting the packet-group.